无法通过CStdioFile将汉字写入ANSI文件?
我在VC++2008中创建了一个Unicode项目 然后我编写以下代码:无法通过CStdioFile将汉字写入ANSI文件?,file,visual-c++,unicode,ansi,File,Visual C++,Unicode,Ansi,我在VC++2008中创建了一个Unicode项目 然后我编写以下代码: CStdioFile File; if (File.Open(_T("F:\\Test.txt"), CFile::modeCreate | CFile::modeWrite | CFile::typeText | CFile::shareDenyWrite)) { File.WriteString(_T("你好")); File.Close(); } 我
CStdioFile File;
if (File.Open(_T("F:\\Test.txt"), CFile::modeCreate | CFile::modeWrite | CFile::typeText | CFile::shareDenyWrite))
{
File.WriteString(_T("你好"));
File.Close();
}
我认为自从File.WriteString(\u T(“你好")) 正在将Unicode字符串写入文件,而CStidoFile默认为ANSI格式。因此,Unicode字符串将在当前线程代码页(中文)中转换为ANSI字符串
但是,当我打开文本文件后,我看到它完全是空的,没有写入任何内容。为什么?用模式
CFile::typeUnicode
打开文件,而不是CFile::typeText
我尝试使用typeUnicode,但写入的文本文件包含无法识别的内容。我尝试在英文和中文的s下打开文本文件系统。两者都无法正确显示内容。