0
我在msdn中使用了這段代碼(Obtaining a file name from a file handle)以獲取從findfirstchangenotification獲得的文件句柄的文件名。「從文件句柄中獲取文件名」的錯誤編碼
但現在的問題是,結果字符串的編碼是某種程度上錯誤的。我只看到一個字符而不是所有字符(通常是一個問號)。
所以我的代碼調用GetMappedFileName
,並得到問號。
if (GetMappedFileName (GetCurrentProcess(),
pMem,
pszFilename,
MAX_PATH))
爲什麼?
只看到一個字符是將char *字符串轉換爲wchar_t *字符串的肯定符號。這些類型只能讓你關閉編譯器,試圖告訴你,你做錯了。不要強制使用Unicode。 –
這是一個完美的問題。 – bmargulies