我試圖通過使用GetTempPathA function來獲取Windows上用戶的臨時文件夾。GetTempPathA函數在打印結果後崩潰
LPSTR ptcPath = new CHAR(MAX_PATH);
GetTempPathA(MAX_PATH - 1, ptcPath);
std::cout << "Temporary path : " << ptcPath << std::endl;
所以程序正確輸出的臨時路徑但(它的一個大的部分代碼)後立即崩潰。
我確定崩潰來自GetTempPathA,因爲如果我評論該行,該程序可以正常工作。
無論我分配或放置的尺寸是多少,都會崩潰,而不是MAX_PATH - 1
,除了打印亂碼的<size of the path> + 1
下的所有值。
我把MAX_PATH - 1
作爲一個值,因爲它解決了Google Groups上其他人的問題。
你爲什麼要用'new'打擾? 'CHAR path [MAX_PATH];' –
@ ndn:雖然解決了這個問題,但它的出現與第一個答案相同:'[]'而不是'()'。 – MSalters
@ MSalters「這個問題是由...簡單的印刷錯誤引起的[...]「 –