[求助]計算磁盤的剩余空間出錯

UINT8 i; i = CH375DiskQuery( ); mStopIfError( i ); i = CH375DiskSize( ); mStopIfError( i ); #ifdef DEBUG printf("The Free sec is :%u,%u,%u\n",CH375vSectorSize,mCmdParam.DiskSize.mDiskSizeSec,mCmdParam.Query.mFreeSector); #endif return((unsigned int)(mCmdParam.DiskSize.mDiskSizeSec*mCmdParam.Query.mFreeSector /1024/1024)); // 返回為以MB為單位的剩余容量

結(jié)果顯示為The Free sec is :512,53503,31 計算得到的剩余空間為The Free Size is :3429M 我的U盤才1G的?。? 不知道錯在什么地方了,是不是我的函數(shù)用錯了?

你的輸出格式不對,比如1G的U盤,扇區(qū)數(shù)大概2097152個,你用,%u打印顯然會益出,應(yīng)該用%l,所以mFreeSector打印也可能出現(xiàn)這個問題!(要看你實際的剩余扇區(qū)數(shù)) 一般來說不要用(unsigned int)(mCmdParam.DiskSize.mDiskSizeSec*mCmdParam.Query.mFreeSector /1024/1024)來計算,因為mCmdParam.DiskSize.mDiskSizeSec*mCmdParam.Query.mFreeSector可能為益出. 這樣計算: (mCmdParam.DiskSize.mDiskSizeSec*(mCmdParam.Query.mFreeSector/512) /2048)


只有登錄才能回復(fù),可以選擇微信賬號登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频