用C语言读取文件

时间:2015-03-30 15:37:57

标签: c file

我正在尝试用C语言读取文件

while(1){
        if(feof(file)){
            break;
        }
        printf("%c",fgetc(file));
    }

最后我得到了一个特殊的角色,比如�我在文件中没有这样的东西

2 个答案:

答案 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);
    }