我遇到一个问题,其中fgetc()
在尝试读取流中的最后一个字符时会崩溃(没有打开文件,我正在将文本文件重定向到stdin
)。在下面的代码中,对于包含单个字符和换行符的文件,它不会到达末尾的“某物”-它甚至不会返回EOF
,而只是退出。
我在这里有些不知所措,真的不确定我在做什么错。可能是我不知道关键问题,但我不知道它是什么。
我确实尝试过与feof()
进行核对,但没有得到解决。
int p;
while ( (p = fgetc(stdin)) != EOF ) {
printf("%c", p);
}
printf("something.\n");
我尝试将先前的char p
更改为int p
,但无济于事。