无法通过CStdioFile将汉字写入ANSI文件吗?

问题描述 投票:0回答:1

我在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 :: ...

file visual-c++ unicode ansi
1个回答
0
投票

以模式CFile::typeUnicode而不是CFile::typeText打开文件。

© www.soinside.com 2019 - 2024. All rights reserved.