首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

此程序怎么修改

2014-01-21 
此程序如何修改?float GetTheFreeSpace(AnsiString ThePath){ULARGE_INTEGER FreeSpaceToCall,TotalSpace,

此程序如何修改?


float GetTheFreeSpace(AnsiString ThePath)
{
    ULARGE_INTEGER FreeSpaceToCall,TotalSpace,FreeSpace;
    AnsiString drv = ExtractFileDrive(ThePath);
    float TheFreeSpace;

    ::GetDiskFreeSpaceEx(drv.c_str(),&FreeSpaceToCall,&TotalSpace,&FreeSpace);
    TheFreeSpace=FreeSpace.QuadPart/1024/1024;
    return TheFreeSpace;
}


有这样的函数,如果如果指定盘符非法,返回-1。比如输入Z盘,电脑无Z盘就返回-1.如何实现?
[解决办法]
就用上面的代码获取所有机器上的盘符,
然后 AnsiString drv = ExtractFileDrive(ThePath); 
把 drv 跟这个盘符列表比对,如果在列表中就是有效的

热点排行