0
点赞
收藏
分享

微信扫一扫

文件结束的判定与feof函数

夕颜合欢落 2022-03-11 阅读 77
开发语言

文件结束的判断:

1.fget()读取结束后返回EOF。

#include<stdio.h>
#include<stdlib.h>
int main() {
	FILE* fp = fopen("test2.txt", "r");
	if(fp == NULL)
    {
        perror(fp);
        return 0;
    }
	while (fgetc(fp)!=EOF) {
		;
	}
	fclose(fp);
	return 0;
}

2.fgets()读取结束时返回NULL。

#include<stdio.h>
#include<stdlib.h>
int main() {
	FILE* fp = fopen("test2.txt", "r");
	char s[100];
    if(fp == NULL)
    {
        perror(fp);
        return 0;
    }
	for (i = 0; fgets(str[i], 1, fp) != NULL; i++) { 
		;
	}
    	fclose(fp);
	return 0;
}

3.二进制文件可以用fread()进行读取,若读取失败返回0。

#include<stdio.h>
#include<stdlib.h>
int main() {
	FILE* fp = fopen("test2.txt", "r");
	char s[100];
    if(fp == NULL)
    {
        perror(fp);
        return 0;
    }
    int i = 0;
	while (fread(&s[i++], sizeof(char[0]), 1, fp)) {
        ;	
    }
    fclose(fp);
	return 0;
}

feof()函数:

int feof( FILE *stream )
1.当文件读取结束时, 若是遇到文件尾结束,则返回1,否则返回0.

2.在文件读取过程中不能用feof函数的返回值来判断是否读取到文件尾。

3.当文件读取结束的时候,可以判断是读取失败结束,读取道文件尾结束。

举报

相关推荐

0 条评论