linux中封装计算一个文件大小的函数
时间: 2024-09-13 07:14:02 浏览: 22
在Linux中,你可以创建一个自定义函数来封装计算文件大小的操作。这个函数通常会利用`stat()`系统调用来获取文件的信息,然后处理返回的数据来得到文件的大小(以字节为单位)。以下是一个简单的C语言示例:
```c
#include <sys/stat.h> // 包含包含文件状态信息的头文件
long long getFileSize(const char* filePath) {
struct stat fileStat; // 创建结构体来存储文件信息
if (stat(filePath, &fileStat) == -1) { // 如果获取文件状态失败,返回错误
perror("Error getting file size");
return -1;
}
// 文件大小为st_size字段,单位是字节
long long fileSize = fileStat.st_size;
return fileSize;
}
```
在这个函数中,`stat(filePath, &fileStat)`用于获取指定路径`filePath`的文件状态,如果成功则`st_size`就是文件大小,否则返回错误代码。
使用这个函数的例子:
```c
int main() {
const char* filePath = "/path/to/your/file";
long long fileSize = getFileSize(filePath);
if (fileSize != -1) {
printf("File size: %lld bytes\n", fileSize);
} else {
printf("Failed to get file size.\n");
}
return 0;
}
```