博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
获取磁盘的 总容量,空余容量,已用容量 【windows】
阅读量:5282 次
发布时间:2019-06-14

本文共 1002 字,大约阅读时间需要 3 分钟。

使用windows api

输入:盘符字符串

输出:磁盘容量

 

float get_disk_spaces(const char drive_letter, float & total_space, float & used_space){    BOOL fResult;    unsigned _int64 i64FreeBytesToCaller;    unsigned _int64 i64TotalBytes;    unsigned _int64 i64FreeBytes;    char dir[4] = { drive_letter, ':', '\\', '\0'};    fResult = GetDiskFreeSpaceExA(        dir,        (PULARGE_INTEGER)&i64FreeBytesToCaller,        (PULARGE_INTEGER)&i64TotalBytes,        (PULARGE_INTEGER)&i64FreeBytes);    if (fResult)    {        /*QMessageBox::about(NULL, "Information",            ("Get disk space " + QString(dir) + QString::number(i64TotalBytes)));*/        total_space = (float)i64TotalBytes;        used_space = (float)(i64TotalBytes - i64FreeBytes);        return (float)i64TotalBytes;    }    else        QMessageBox::about(NULL, "Information",            ("Failed to get disk space " + QString(dir)));     return -1;}

 

注意其中的字符数组 dir 一定要以'\0'结尾,否则程序时好时坏,因为有时dir末尾正好是0,而有时不是。

转载于:https://www.cnblogs.com/liujx2019/p/10309860.html

你可能感兴趣的文章
IT人生的价值和意义 感觉真的有了
查看>>
Linux命令之df
查看>>
BaseActivity--上门啦
查看>>
JS DOM对象
查看>>
python正则表达式
查看>>
OGR – Merging Multiple SHP files
查看>>
创业公司该不该被收购?(转)
查看>>
sqlserver 行转列、列转行[转]
查看>>
【IScroll深入学习】解决IScroll疑难杂症
查看>>
针对MySql封装的JDBC通用框架类(包含增删改查、JavaBean反射原理)
查看>>
实验八:程序结构与数组 4、循环实训
查看>>
Git 常用命令汇总
查看>>
Struts2学习笔记②
查看>>
ANF框架小结、网络概念步骤详情及开发源码
查看>>
1009. Product of Polynomials (25)
查看>>
【dp 背包变形】 poj 1837
查看>>
java实现最大堆
查看>>
sharepoint 2007和2010 在新建页面隐藏标题字段
查看>>
ORACLE日期时间函数大全
查看>>
c语言 保留两位小数
查看>>