c语言怎么判断文件是否为空
时间: 2024-11-05 10:08:53 浏览: 26
在C语言中,判断一个文件是否为空,通常需要打开文件并读取一些数据,如果读取到的数据长度为0,就可以认为文件是空的。这里是一个简单的示例:
```c
#include <stdio.h>
int is_file_empty(const char *filename) {
FILE *file = fopen(filename, "r"); // 打开文件,"r"表示读模式
if (file == NULL) { // 文件打开失败,可能是不存在或权限问题
perror("Failed to open file");
return -1;
}
fseek(file, 0L, SEEK_END); // 将指针移动到文件结尾
long size = ftell(file); // 获取文件当前位置(即文件大小)
rewind(file); // 恢复指针到开头
if (size == 0) {
fclose(file);
return 1; // 文件为空
} else {
fclose(file);
return 0; // 文件不为空
}
}
// 使用示例
int main() {
int result = is_file_empty("example.txt");
if (result == 1) {
printf("File is empty.\n");
} else {
printf("File is not empty.\n");
}
return 0;
}
```
阅读全文