Ich habe ein Programm, das eine Textdatei öffnen und Zeile für Zeile lesen wird. Es fügt auch jede Zeile in ein Array ein. Wenn ich diese Funktion verwende und versuche, jede Zeile in einer printf-Anweisung zu verwenden, werden neue Zeilenzeichen hinzugefügt.C Programm Leerzeichen beim Lesen Textdateien Zeile für Zeile
Mein Code:
char fileContents[MAX_LINES][MAX_LINE_LENGTH];
int lineCount = 0;
FILE *ifp = fopen("Tree-B.txt", "r");
if (ifp == NULL)
{
printf("Error opening file!\n");
exit(1);
}
while (fgets(fileContents[lineCount++], MAX_LINE_LENGTH, ifp) != NULL);
fclose(ifp);
printf("Name: %s is now %s", fileContents[0], fileContents[1]);
Der Ausgang dieses sich wie folgt:
Name: Tree Bacon
is now 30.21
Die printf neue Zeile Zeichen ist das Hinzufügen und ich kann nicht zu entdecken scheinen, warum dies geschieht.
Die beiden Linien, die aus meiner Textdatei gelesen wurden, waren:
Tree Bacon
30.21
'printf' fügt nichts hinzu. Die Zeilenumbrüche befinden sich in Ihrer Originaldatei. – melpomene
'fgets' behält die' newline' von der Eingabe bei. –
'printf' fügt nichts hinzu, der Newline ist in Ihren Daten. 'fgets()' enthält den Zeilenumbruch beim Einlesen von Zeilen. –