我有點卡在這個API GetDriveType()
。每次這個API返回我DRIVE_NO_ROOT_DIR
,我傳遞像這樣的「C:\」等驅動器字母即使對於我的主驅動器「C:\」該API返回相同的東西。卡住api getdrivetype
我在此之前調用GetLogicalDrives()
來檢索。
OS:WinXP的SP3,NTFS文件系統
代碼:編譯器VS2005
int main() {
bool folder;
String * filename;
char individualdrive[4],alldrives[100];
memset(alldrives,0,100);
GetLogicalDriveStringsA(100,alldrives);
for(int i=0;(i<100)&&(alldrives[i]);i+=4) {
memset(individualdrive,0,4);
strncpy(individualdrive,alldrives+i,4); //extracting individual drive strings.
if(DRIVE_FIXED == GetDriveTypeW((LPCWSTR)individualdrive))
getfile((System::String*)individualdrive, filename,folder); }
return 0; }
我們如何在沒有您的代碼的情況下提供幫助?你需要發佈它,所以我們可以看到你正在嘗試的是什麼;那麼我們可以幫助弄清楚它有什麼問題。另外,沒有OS「Win sp3」;我們能猜到你的意思是「WinXP SP3」嗎? – 2011-04-29 11:23:06
是的,操作系統是WinXp sp3。 – user1835004 2011-05-02 05:17:36
你需要格式化你的代碼。在SO編輯器中,用鼠標選擇所有代碼,然後按編輯器上方的「{}」按鈕。 – 2011-05-02 09:59:49