私は C に基づいていくつかの質問をしようとしていましたが、この特定の問題に行き詰まりました。ここで私によると、old.outファイルは、fprintfが入力をファイルポインターに割り当てるため、scanfで入力したものをすべて書き込む必要がありますが、驚いたことに、後でwhileループがあるため、old.outに何も書き込まれていないことがわかりました実行されません。これはどのように起こっていますか?fprintf 関数の私の誤解と関係がありますか? 以下のコードを貼り付けました。
#include<stdio.h>
main()
{
FILE *fp;
char a;
fp=fopen("old.out","w");
if(fp==0)
printf("File opening error");
else
{
for(scanf("%c",&a);a!=EOF;scanf("%c",&a))
fprintf(fp,"%c",a);
fclose(fp);
fp=fopen("old.out","r");
while(!feof(fp))
putchar(getc(fp));
}
return 0;
}