当前位置导航:炫浪网>>网络学院>>编程开发>>C++教程>>C++基础入门教程

CStdioFile在UNICODE环境下读取文本行的方法

     CStdioFile file;

    if (!file.Open(m_File_Path, CFile::modeRead)) return;

    CString strLine;

    while (file.ReadString(strLine))   
 
    { 

       //strLine处理

    }

    问题:

    CStdioFile在_MSBC环境下读取任何ANSI文本数据都没问题,在UNICODE环境下读取ANSI文本中的中文时就会显示乱码。

    原因:

    CStdioFile读取ANSI文本数据时按char类型读取,在_MSBC下可以直接填充到CString,在UNICODE环境下要先将char转换成宽字符WCHAR,然后再填充到CString,即一个汉字的两个char将变成两个UNICODE字符WCHAR。

共3页 首页 上一页 1 2 3 下一页 尾页 跳转到
相关内容
赞助商链接