Ich versuche Zeile für Zeile aus einer Datei zu lesen und die Zeile auszudrucken. Aber wenn ich den Code starte, fängt er an, die Zeilen beginnend in der Mitte auszugeben.C - Zeilen aus Datei lesen
char temp[300];
if (input == NULL) {
printf("Can't open input file.\n");
exit(-1);
}
while (!feof(input)) {
fgets(temp, 300, input);
printf("%s \n", temp);
}
fclose(input);
Irgendwelche Gründe dafür in der Mitte zu beginnen?
Edit: So und Beispiel dafür, was ich in der Mitte meine ist, dass ich eine Liste wie diese
7,12 Angry Men,1957
95,2001: A Space Odyssey,1968
211,8 and a Half,1963
190,A Beautiful Mind,2001
68,A Clockwork Orange,1971
223,A Fistful of Dollars,1964
108,A Separation,2011
233,A Streetcar Named Desire,1951
40,Alien,1979
58,Aliens,1986
96,All About Eve,1950
224,All Quiet on the Western Front,1930
250,All the President's Men,1976
91,Amadeus,1984
69,Amelie,2001
54,American Beauty,1999
33,American History X,1998
189,Amores Perros,2000
haben und wenn ich auf die printf bekommen zeigt es nur dieses
58,Aliens,1986
96,All About Eve,1950
224,All Quiet on the Western Front,1930
250,All the President's Men,1976
91,Amadeus,1984
69,Amelie,2001
54,American Beauty,1999
33,American History X,1998
189,Amores Perros,2000
EDIT2 : Ich habe eine Änderung in dem Programm gemacht, um die \ n in printf
loszuwerden und das Problem behoben. Gibt es einen Grund, warum die \ n dieses Problem verursacht?
Führen Sie den folgenden Test durch: pipe die Ausgabe Ihres Programms in eine Datei; dann schauen Sie sich diese Datei mit einem (gut!) reinen Texteditor an. Sind alle Linien drin? – usr2564301
Ich öffnete meine Datei im Editor und verglich sie mit meinen Ergebnissen, so wie ich die fehlenden Einträge in der Liste bemerkte. –
Gut gemacht! (Grund, warum ich gefragt habe, war, dass "nicht sichtbar" bedeuten könnte, dass sie * nur wegen der irrtümlichen Wagenrückkehr auf dem Bildschirm * überschrieben wurden. Ich hatte das selbst.) – usr2564301