字节的转换
applenele
初级粉丝1
ULARGE_INTEGER nFreeBytesAvailable;
ULARGE_INTEGER nTotalNumberOfBytes;
ULARGE_INTEGER nTotalNumberOfFreeBytes;
if (GetDiskFreeSpaceEx("C:",
&nFreeBytesAvailable,
&nTotalNumberOfBytes,
&nTotalNumberOfFreeBytes))
{
TCHAR chBuf[1000];
wsprintf(chBuf,"当前用户可用:%I64d总大小:%I64d兆,当前可用空间:%I64d\r\n", nFreeBytesAvailable,nTotalNumberOfBytes, nTotalNumberOfFreeBytes); SetDlgItemText(hwnd,IDC_EDT1,chBuf);
怎么把得到的 字节单位为B转换成GB;;
C IDC --------------------编程问答-------------------- nTotalNumberOfBytes / 1024 / 1024 / 1024 --------------------编程问答-------------------- 既然得到了以B为单位的数值,把你的nFreeBytesAvailable,nTotalNumberOfBytes, nTotalNumberOfFreeBytes这几个变量除以1073741824(即:1024×1024×1024),不就是GB的数值了吗?
看你的代码,是C++的吧,怎么发VB版来了呢。
B换算成GB为单位的数值后,应该不是整数了,这三个结果应该保存入浮点类型的中间变量中去。
并且输出格式中的%I64d应该换成相应的浮点格式标记。
--------------------编程问答-------------------- 除
补充:VB , API