结果
标题出现乱码是因为使用了Unicode宽编码,但是文件名称是ANSI编码?内容中出现空格(NULL)是因为字符串是Unicode的但是保存到文件却是ANSI格式的文件导致的?第三张图片是我使用ANSI编码保存的,文件名称和内容正常
源码
#include
int main(int argc, WCHAR argv[]){
HANDLE hFile;//文件句柄
DWORD dwWritten;
TCHAR szSystemDir[MAX_PATH];//字符数组,用于存储系统目录
//获取系统目录
GetSystemDirectory(szSystemDir, MAX_PATH);
//创建文件systemroot.txt
hFile = CreateFile(
"systemroot.txt",
GENERIC_WRITE,
0,
NULL,
CREATE_ALWAYS,
FILE_ATTRIBUTE_NORMAL,
NULL
);
//判断文件是否创建成功
if (hFile != INVALID_HANDLE_VALUE){
//将系统目录信息写入文件
if (!WriteFile(hFile, szSystemDir, lstrlen(szSystemDir), &dwWritten, NULL)){
return GetLastError();
}
}
//关闭文件,返回
CloseHandle(hFile);
return 0;
}
网友评论