linux C语言 feof
时间: 2024-01-06 07:54:02 浏览: 90
在 Linux 中,`feof` 函数用于判断文件指针是否到达文件结束位置。该函数的原型如下:
```c
int feof(FILE *stream);
```
其中,`stream` 表示文件指针。函数返回值为非 0 值表示已经到达文件结束位置,否则表示还未到达文件结束位置。
使用 `feof` 函数时,需要注意以下几点:
1. 如果文件已经结束,再次读取文件将会返回一个错误。因此,在使用 `feof` 函数之前,需要先判断上一次读取是否成功。
2. `feof` 函数只有在读取文件时才会返回正确的结果。如果文件没有被读取或者上一次读取操作失败,那么 `feof` 函数就不会返回正确的结果。
3. `feof` 函数只对文件结束位置返回正确的结果,对于其他错误(如读写错误等)不会返回正确的结果,需要使用其他函数(如 `ferror`)来判断。
示例代码如下:
```c
#include <stdio.h>
int main() {
FILE *fp;
char ch;
fp = fopen("test.txt", "r");
if (fp == NULL) {
printf("Failed to open file.\n");
return 1;
}
while (!feof(fp)) { // 判断文件指针是否到达文件结束位置
ch = fgetc(fp);
if (ferror(fp)) { // 判断读取文件是否成功
printf("Failed to read file.\n");
break;
}
printf("%c", ch);
}
fclose(fp);
return 0;
}
```
阅读全文