c语言如何知道文件大小
时间: 2024-12-03 09:15:39 浏览: 13
在C语言中,获取文件大小通常需要使用系统库函数,比如`fseek`、`ftell` 或 `lseek`。以下是通过`stdio.h`头文件中的函数来获取文本文件大小的一个示例:
```c
#include <stdio.h>
#include <sys/stat.h>
size_t getFileSize(const char *filename) {
struct stat fileStat;
if (stat(filename, &fileStat) == -1) { // 检查文件是否存在并获取状态信息
perror("Error while getting file status");
return -1; // 返回错误码
}
return fileStat.st_size; // 返回文件大小,单位通常是字节
}
int main() {
size_t fileSize = getFileSize("example.txt"); // 替换为你要检查的文件名
if (fileSize != -1) {
printf("The file size is %zu bytes.\n", fileSize);
} else {
printf("Failed to get the file size.\n");
}
return 0;
}
```
在这个例子中,`stat()` 函数用于获取指定文件的状态信息,其中`st_size`成员就是文件的大小。如果文件操作失败,会返回-1并显示错误信息。
阅读全文