これが印刷されない理由を理解しようとしていますが、コマンドプロンプトから入力されたテキストファイルから各文字を印刷しようとしていますが、私は間違って何をしていますか?なぜこれはうまくいかないのですか?私はこれが論理的にうまくいくように感じます。ありがとう。テキストが出力に出力されていない
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;
}
はとにかくhttp://stackoverflow.com/questions/5431941/why-is-while-feof-file-always-wrong –
を参照してください。 - 'fp'は読み込み用ですので、' puts'は意味を持ちません。 –
あなたはどんなファイルからも読みません。puts(fp)はナンセンスです。ファイルポインタです。最初に 'fopen'の' fp'結果が 'NULL'でないことを確認してください。その後、ファイルから読み込みます。しかし、まだ読んだところはどこにもありません。 –