linux 获取分区大小, C语言实现
时间: 2023-08-12 11:54:37 浏览: 416
Linux 下C语言获取文件大小
要获取分区大小,你可以使用C语言中的`statvfs`函数来获取特定分区的文件系统信息。下面是一个示例代码,它可以获取指定路径的分区大小:
```c
#include <stdio.h>
#include <stdlib.h>
#include <sys/statvfs.h>
int main() {
const char* path = "/dev/sda1"; // 指定分区的路径
struct statvfs buf;
if (statvfs(path, &buf) != 0) {
perror("statvfs");
exit(EXIT_FAILURE);
}
unsigned long totalSpace = buf.f_blocks * buf.f_frsize;
unsigned long freeSpace = buf.f_bfree * buf.f_frsize;
unsigned long availableSpace = buf.f_bavail * buf.f_frsize;
printf("Total space: %lu bytes\n", totalSpace);
printf("Free space: %lu bytes\n", freeSpace);
printf("Available space: %lu bytes\n", availableSpace);
return 0;
}
```
请确保将`path`变量设置为你想要获取分区大小的实际路径。编译并运行该程序后,将输出指定分区的总空间、可用空间和剩余空间的大小。
阅读全文