c语言判断文件读取结束
时间: 2023-06-14 15:03:12 浏览: 177
在C语言中,可以使用feof()函数或者ferror()函数来判断文件读取是否结束。
1. 使用feof()函数
feof()函数是判断文件是否到达文件尾部,若到达文件尾部,返回非0值,否则返回0。因此,可以在读取文件时利用feof()函数来判断文件是否读取结束。
例如,下面的代码可以读取文件中的每一行,并判断文件是否读取结束:
```
#include <stdio.h>
int main()
{
FILE *fp;
char line[100];
fp = fopen("test.txt", "r");
if (fp == NULL) {
printf("Failed to open file.\n");
return -1;
}
while (!feof(fp)) {
fgets(line, 100, fp);
printf("%s", line);
}
fclose(fp);
return 0;
}
```
2. 使用ferror()函数
ferror()函数用于判断文件读取时是否发生错误,若发生错误,返回非0值,否则返回0。因此,可以在读取文件时利用ferror()函数来判断文件是否读取结束。
例如,下面的代码可以读取文件中的每一行,并判断文件是否读取结束:
```
#include <stdio.h>
int main()
{
FILE *fp;
char line[100];
fp = fopen("test.txt", "r");
if (fp == NULL) {
printf("Failed to open file.\n");
return -1;
}
while (fgets(line, 100, fp) != NULL) {
printf("%s", line);
}
if (ferror(fp)) {
printf("Error occurred while reading file.\n");
}
fclose(fp);
return 0;
}
```
这里使用fgets()函数读取文件中的每一行,并判断是否读取到文件末尾。如果ferror()函数返回非0值,则说明在读取文件时发生了错误。