我正在尝试用C语言读取文件
while(1){
if(feof(file)){
break;
}
printf("%c",fgetc(file));
}
最后我得到了一个特殊的角色,比如�我在文件中没有这样的东西
答案 0 :(得分:5)
您可以使用以下代码逐步阅读文件:
int ch;
while ((ch = fgetc(file)) != EOF) {
putchar(ch);
}
此特殊字符可能是EOF。
此question/answers也可能对您有用。
答案 1 :(得分:0)
来自fgetc的手册页:
RETURN VALUE fgetc(), getc() and getchar() return the character read as an unsigned char cast to an int or EOF on end of file or error.
所以你应该在使用fgetc的返回值之前检查feof,否则你将打印出EOF
字符:
while(1){
int c = fgetc(file);
if(feof(file)){
break;
}
printf("%c",c);
}