我在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();
}
我认为,因为File.WriteString(_T(“你好”))正在将Unicode字符串写入文件,而CStidoFile默认为ANSI格式。因此,Unicode字符串将在当前线程代码页(中文)中转换为ANSI字符串。
但是,打开文本文件后,我看到它完全是空的,没有任何内容写入该文件。为什么?
我在VC ++ 2008中创建了一个Unicode项目。然后编写以下代码:CStdioFile File;如果(File.Open(_T(“ F:\\ Test.txt”),CFile :: modeCreate | CFile :: modeWrite | CFile :: typeText | CFile :: ...
以模式CFile::typeUnicode
而不是CFile::typeText
打开文件。