文章目录
- 一、文件结尾判定
- 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;
}