2013-10-17 68 views
1

我正試圖克服win32 API的路徑上的MAX_PATH限制。作爲MSDN文檔這些API(即CreateDirectory)的建議,我試圖與「\\。\?」預先計劃的路徑,但不斷得到錯誤123與長路徑一起使用時,CreateDirectory失敗,錯誤123錯誤

這裏是我的代碼 -

wstring path = L"\\\\?\\D:\\<LongPath>"; 
if(!CreateDirectory(path.c_str(), NULL)) //translates to CreateDirectoryW 
{ 
// Get the error using GetLastError() 
} 

錯誤123表示 - 「文件名,目錄名稱或卷標語法不正確。」。有什麼我需要做不同的事情嗎?

+2

只是爲了好玩,您能不能告訴我們這些路徑之一還有,什麼是卷格式(FAT,FAT32,NTFS,最後,這個超長路徑的任何單個子成分是否超過255個字符(典型情況下,使用'GetVolumeInformation()'知道確切的限制)? – WhozCraig

+0

卷格式是NTFS。其中一個目錄在路徑中有超過255個字符是造成這個問題的原因之後,我解決了這個問題,CreateFirectory適用於大於255的路徑長度。感謝您的幫助! –

回答

-1

文件夾名稱不能包含一些特殊字符,如:??/ *」 <>