在C语言中,获取硬盘信息可以通过调用操作系统的相关API来实现。以下是一个简单的示例,展示了如何在Windows操作系统上获取硬盘信息:
#include<windows.h>
#include<stdio.h>
int main() {
DWORD drives = GetLogicalDrives();
int i;
char drive_letter;
printf("硬盘信息:\n");
for (i = 0; i < 26; i++) {
drive_letter = 'A' + i;
if (drives & 1) {
printf("%c:\\\n", drive_letter);
}
drives >>= 1;
}
return 0;
}
这个示例中,我们使用了GetLogicalDrives
函数来获取系统中所有已连接的硬盘的驱动器号,然后通过循环输出这些驱动器号。
在Linux操作系统上,可以使用statvfs
函数来获取硬盘信息。以下是一个简单的示例:
#include <sys/statvfs.h>
#include<stdio.h>
int main() {
struct statvfs stat;
if (statvfs("/", &stat) == 0) {
printf("硬盘信息:\n");
printf("总容量:%lu MB\n", stat.f_blocks * stat.f_frsize / (1024 * 1024));
printf("可用容量:%lu MB\n", stat.f_bavail * stat.f_frsize / (1024 * 1024));
printf("已使用容量:%lu MB\n", (stat.f_blocks - stat.f_bfree) * stat.f_frsize / (1024 * 1024));
} else {
printf("无法获取硬盘信息\n");
}
return 0;
}
这个示例中,我们使用了statvfs
函数来获取根目录所在分区的硬盘信息,然后通过计算输出总容量、可用容量和已使用容量。
领取专属 10元无门槛券
手把手带您无忧上云