Ich versuche herauszufinden, warum dies nicht druckt, ich versuche jeden Buchstaben aus einer Textdatei zu drucken, die über die Eingabeaufforderung eingegeben wird, aber ich bekomme nur eine leere Ausgabe ... Was mache ich falsch und warum funktioniert das nicht? Ich denke, das sollte logisch funktionieren. Vielen Dank.Text wird nicht am Ausgang gedruckt
int main(int argc, char *argv[]) {
FILE *fp;
int i;
for (i = 1; i < argc; i++) {
printf("%s\n", argv[i]);
fp = fopen(argv[i], "r");
while (!feof(fp)) {
puts(fp);
}
fclose(fp);
}
return 0;
}
Siehe http://stackoverflow.com/questions/5431941/why-is-while-feof-file-always-wrong –
Wie dem auch sei - 'fp' ist zum Lesen so' puts' macht keinen Sinn –
Sie lesen nicht aus irgendeiner Datei 'puts (fp)' ist Unsinn - es ist der Dateizeiger. Überprüfen Sie zuerst, ob das 'fp'-Ergebnis von' fopen' nicht 'NULL' ist. Dann lies aus der Datei. Aber Sie haben noch nirgends zu lesen. –