设为首页 加入收藏

TOP

Linux下在C语言中获取硬盘大小
2015-02-02 14:51:03 来源: 作者: 【 】 浏览:26
Tags:Linux 下在 言中 获取 硬盘 大小

由于系统中没有现成的代码可以直接获取某个硬盘的大小,此时可以借助popen,sscanf,fdisk命令共同完成硬盘大小的获取。


工件原理如下,在Linux中执行fdisk -l命令,获取硬盘的详细信息,然后在C程序中通过popen将信息获取,然后用sscanf将相关信息进行处理,得到硬盘的大小。代码如下:


int get_system_tf_capacity(double *capacity)
{
?if (capacity == NULL)
? return -1;
?*capacity = 0;
?FILE *procpt;
?char line[100];
?double ma, mi;
?char tmp[4][100];


?procpt = popen("fdisk -l /dev/mmcblk0", "r");


?while (fgets(line, sizeof(line), procpt))
?{
? if (sscanf(line, "%[^ ] %[^ ] %lf %[^ ] %lf %[^\n ]", tmp[0], tmp[1],
? ? &mi, tmp[2], &ma, tmp[3]) != 6)
? ?continue;
? *capacity = ma;
? break;
?}
?pclose(procpt);
?return 0;
}


C语言梳理一下,分布在以下10个章节中:


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Linux下C语言获取某分区剩余空间.. 下一篇Linux下串口通信编程

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: