如何输入判断是否读完文件
时间: 2024-03-23 11:38:20 浏览: 22
你可以使用文件指针来判断是否读完文件。在C语言中,文件指针指向当前正在读取的文件位置,每次读取完文件中的一部分数据后,文件指针会自动向后移动。因此,你可以通过比较文件指针的位置和文件的大小来判断是否读完文件。
具体实现方法如下:
1. 使用fseek函数将文件指针移动到文件末尾。
2. 使用ftell函数获取文件指针当前的位置。
3. 比较文件指针的位置和文件的大小,如果相等,说明文件已经读完。
示例代码如下:
```
#include <stdio.h>
int main() {
FILE *fp = fopen("test.txt", "r"); // 打开文件
fseek(fp, 0L, SEEK_END); // 将文件指针移动到文件末尾
long int size = ftell(fp); // 获取文件大小
fseek(fp, 0L, SEEK_SET); // 将文件指针移动回文件开头
char buffer[1024]; // 缓存区
while (ftell(fp) < size) { // 判断是否读完文件
fgets(buffer, sizeof(buffer), fp); // 读取一行数据
printf("%s", buffer); // 输出数据
}
fclose(fp); // 关闭文件
return 0;
}
```
注意,上述示例只适用于文本文件。如果要读取二进制文件,需要使用fread函数读取指定长度的数据,并根据返回值判断是否读完文件。