結(jié)果
標(biāo)題出現(xiàn)亂碼是因?yàn)槭褂昧薝nicode寬編碼,但是文件名稱是ANSI編碼?內(nèi)容中出現(xiàn)空格(NULL)是因?yàn)樽址荱nicode的但是保存到文件卻是ANSI格式的文件導(dǎo)致的?第三張圖片是我使用ANSI編碼保存的,文件名稱和內(nèi)容正常



源碼
#include
int main(int argc, WCHAR argv[]){
HANDLE hFile;//文件句柄
DWORD dwWritten;
TCHAR szSystemDir[MAX_PATH];//字符數(shù)組,用于存儲(chǔ)系統(tǒng)目錄
//獲取系統(tǒng)目錄
GetSystemDirectory(szSystemDir, MAX_PATH);
//創(chuàng)建文件systemroot.txt
hFile = CreateFile(
"systemroot.txt",
GENERIC_WRITE,
0,
NULL,
CREATE_ALWAYS,
FILE_ATTRIBUTE_NORMAL,
NULL
);
//判斷文件是否創(chuàng)建成功
if (hFile != INVALID_HANDLE_VALUE){
//將系統(tǒng)目錄信息寫入文件
if (!WriteFile(hFile, szSystemDir, lstrlen(szSystemDir), &dwWritten, NULL)){
return GetLastError();
}
}
//關(guān)閉文件,返回
CloseHandle(hFile);
return 0;
}