web-dev-qa-db-fra.com

C met () sans nouvelle ligne

J'ai actuellement ce programme qui imprime un fichier texte sur la console, mais chaque ligne a une nouvelle ligne en dessous. si le texte était

bonjour le monde

ça donnerait bonjour

monde

le code est-ce

#include <iostream>
#include <stdio.h>
#include <string.h>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
    FILE* fp;
    char input[80], ch = 'a';
    char key[] = "exit\n";
    int q;

    fp = fopen("c:\\users\\kostas\\desktop\\original.txt", "r+");

    while (!feof(fp)) {
        fgets(input, 80, fp);
        puts(input);
    }
    fclose(fp);

    return 0;
}
27
Constantine

puts() ajoute le caractère de nouvelle ligne par la spécification de la bibliothèque. Vous pouvez utiliser printf à la place, où vous pouvez contrôler ce qui est imprimé avec une chaîne de format:

printf("%s", input);
9
dasblinkenlight

En règle générale, on utilise fputs () au lieu de put () pour omettre la nouvelle ligne. Dans votre code, le

puts(input);

deviendrait:

fputs(input, stdout);
45
Alex North-Keys