我有这个程序可以逐个字符地读取文件并将其打印在屏幕上:
#include<stdio.h>
int main()
{
unsigned char mychar;
FILE *fp;
fp=fopen("test.txt", "r");
while((mychar = getc(fp))!=EOF)
printf("%c", mychar);
fclose(fp);
return 0;
}
它打印文件,但随后继续无限循环。 你能帮帮我吗?
最佳答案
EOF
的值为 -1
那么,为什么要将 mychar
声明为 unsigned char
?
请更改为:
int main()
{
int mychar;
FILE *fp;
fp=fopen("test.txt", "r");
while((mychar = getc(fp))!=EOF)
printf("%c", mychar);
fclose(fp);
return 0;
}
关于c - 循环永不停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37094475/