滿意答案
royca10002
2013.02.08
采納率:40% 等級:9
已幫助:516人
代碼如下,VS2012親測,可以運作,給你注釋的很清楚了,不懂的地方可以問我。
#include
#include
int main()
{
int DSLength = GetLogicalDriveStrings(0,NULL);
//通過GetLogicalDriveStrings()函數擷取所有驅動器字元串資訊長度。
char* DStr = new char[DSLength];//用擷取的長度在堆區建立一個c風格的字元串數組
GetLogicalDriveStrings(DSLength,(LPTSTR)DStr);
//通過GetLogicalDriveStrings将字元串資訊複制到堆區數組中,其中儲存了所有驅動器的資訊。
int DType;
int si=0;
for(int i=0;i
//為了顯示每個驅動器的狀态,則通過循環輸出實作,由于DStr内部儲存的資料是A:\NULLB:\NULLC:\NULL,這樣的資訊,是以DSLength/4可以獲得具體大循環範圍
{
char dir[3]={DStr[si],':','\\'};
//cout<
DType = GetDriveType((LPCWSTR)DStr+i*4);
//GetDriveType函數,可以擷取驅動器類型,參數為驅動器的根目錄
if(DType == DRIVE_FIXED)
{
printf("%c",*dir);
printf("硬碟\n");
}
si+=4;
}
system("pause");//
return 1;
}
10分享舉報