c语言这么获取文件大小
时间: 2024-10-08 14:25:22 浏览: 67
在C语言中,获取文件大小通常需要使用`fseek`函数设置文件指针到文件结束,然后读取当前位置来得到文件长度。这里有一个简单的示例:
```c
#include <stdio.h>
#include <sys/stat.h>
size_t getFileSize(char *filename) {
FILE *file = fopen(filename, "rb"); // "rb" 表示二进制模式读取,以便获取准确大小
if (file == NULL) {
perror("Error opening file");
return -1;
}
fseek(file, 0L, SEEK_END); // 将文件指针移动到文件末尾
size_t fileSize = ftell(file); // 获取当前位置即文件大小
fclose(file);
return fileSize;
}
int main() {
char filePath[] = "example.txt";
size_t size = getFileSize(filePath);
if (size != -1) {
printf("File size is %zu bytes.\n", size);
}
return 0;
}
```
在这个例子中,`getFileSize` 函数尝试打开文件、定位到末尾,然后返回从那里读取的位置作为文件大小。如果文件打开失败,会返回-1。
阅读全文