我正在尋找處理我的Windows應用程序中較長的文件路徑。C++ WinAPI:處理長文件路徑/名稱
目前,我有一個文本框(編輯框),其中用戶可以輸入絕對文件路徑。然後我讀了類型化的文件路徑,使用GetWindowText
,到宣佈像這樣的字符串:TCHAR FilePath[MAX_PATH];
顯然,在這裏,我靠這限制了我260個字符的MAX_PATH
不變。所以要處理更長的文件/路徑名稱,我可以像這樣擴展我的TCHAR數組:TCHAR FilePath[32767];
。
或者還有更好的方法嗎?我可以使用可變長度數組嗎? (TCHAR FilePath[];
這是甚至可能在C++? - 對不起,我很新)。
謝謝先進!
這裏是什麼,我上面提到的整個代碼片段:
TCHAR FilePath[MAX_PATH];
ZeroMemory(&FilePath, sizeof(FilePath));
GetWindowText(hWndFilePath, FilePath, MAX_PATH);
這就是'MAX_PATH'的目的 - 你不能有比這更長的路徑。 – casablanca 2010-07-19 00:05:38
@casablanca但是,最好用MAX_PATH + 1聲明最後的'\ 0'字符是個好主意。 – luiscubal 2010-07-19 00:11:31
@luiscabal:我剛剛檢查了[MSDN](http://msdn.microsoft.com/en-us/library/aa365247%28VS.85%29.aspx#maxpath),它看起來像MAX_PATH包含空終止符。 – casablanca 2010-07-19 00:16:36