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

2023-03-29 13:04:25 浏览数 (2)

文章目录

  • 一、文件结尾判定
    • 1、使用 EOF 判定
    • 2、使用 feof 函数判定

一、文件结尾判定


1、使用 EOF 判定

文件结尾标识符是 EOF ;

代码语言:javascript复制
#define EOF (-1)

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

代码语言:javascript复制
#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 Endn");
    return 0;
}

2、使用 feof 函数判定

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

代码语言:javascript复制
int feof(FILE *stream);

FILE *stream 参数 : 文件指针 ;

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

代码示例 :

代码语言:javascript复制
#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;
}

0 人点赞