C 语言文件操作 ( 文件结尾判定 )

Posted 韩曙亮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C 语言文件操作 ( 文件结尾判定 )相关的知识,希望对你有一定的参考价值。





一、文件结尾判定





1、使用 EOF 判定


文件结尾标识符是 EOF ;

#define EOF (-1)

使用 getc 逐个字符读取时 , 如果读取到了 EOF 标识符 , 说明当前读取到了文件结尾 ;

#include <stdio.h>

int main()
{
    // 打开一个文件 , 以读的方式
    // r : 使用读的方式打开一个文件 ;
    FILE *p = fopen("D:\\\\b.txt", "r");
    char s = 0;
    while ((s = getc(p)) != EOF){
        // ...
    }

    // 关闭文件
    fclose(p);
    printf("Main End\\n");
    return 0;
}


2、使用 feof 函数判定


feof 函数作用 : 判定当前读取的文件是否到达结尾 ;

int feof(FILE *stream);

FILE *stream 参数 : 文件指针 ;

int 返回值 : 如果文件结束 , 则返回非 0 0 0 值 , 如果没有到文件结尾 , 返回 0 0 0 ;


代码示例 :

#include <stdio.h>

int main()
{
    FILE *p = fopen("D:\\\\a.txt", "r");

    char s[1024] = {0};
    while (!feof(p))
    {
        memset(s, 0, sizeof(s));
        fgets(s, sizeof(s), p);
        printf("%s", s);
    }
    fclose(p);
    printf("Process Exit!");
    return 0;
}

以上是关于C 语言文件操作 ( 文件结尾判定 )的主要内容,如果未能解决你的问题,请参考以下文章

C 语言文件操作 ( 读取文件中的结构体数组 | feof 函数使用注意事项 )

代码片段 PHP,预期文件结尾,我错在哪里?

关于C语言读取文件结尾的问题

C语言笔记C语言文件操作全解

超详细讲解C语言文件操作!!

正确使用c语言文件操作函数