我需要獲取臨時路徑。所以我嘗試了 GetTempPath() 和 std::getenv("TEMP")。問題是結果包含 ~ 符號,例如 C:\Users\OLEKSI~1.ALE\AppData\Local\Temp。是否可以獲得完整的臨時路徑,如 C:\Users\Oleksii\AppData\Local\Temp?
uj5u.com熱心網友回復:
GetLongPathName功能:
將指定路徑轉換為其長格式。
DWORD GetLongPathNameW(
[in] LPCWSTR lpszShortPath,
[out] LPWSTR lpszLongPath,
[in] DWORD cchBuffer
);
DWORD GetLongPathNameA(
[in] LPCSTR lpszShortPath,
[out] LPSTR lpszLongPath,
[in] DWORD cchBuffer
);
Set = 帶符號的lpszShortPath短路徑。~從 讀取結果lpszLongPath。
獲取長路徑名
uj5u.com熱心網友回復:
根據微軟檔案:
GetTempPath 函式按以下順序檢查環境變數是否存在,并使用找到的第一個路徑:
- TMP 環境變數指定的路徑。
- TEMP 環境變數指定的路徑。
- USERPROFILE 環境變數指定的路徑。
- Windows 目錄。
你檢查過這些設定嗎?在 Windows 10 中,您可以按 Ctrl Break 打開系統設定,然后單擊右側的高級系統設定,然后單擊環境變數。如果 TMP、TEMP 或 USERPROFILE 在那里,請檢查它們是否設定正確并且其中沒有不需要~的內容。如果不是,請嘗試添加它們。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/425693.html
上一篇:如何創建彼此不同的亂數向量?
下一篇:C 中的物件讀寫多載
