我有这个程序用于通过char我的文件读取char并在监视器上打印出来:
#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;
}
它打印我的文件然后继续循环。 你能救我吗?
答案 0 :(得分:5)
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;
}