MFC用CStdioFile类读取中文文本时乱码问题的一种解决方法
2015-03-29 20:52
696 查看
在文章开始之前,先声明一下,本人的编程环境为vs2010,MFC工程使用unicode字符集。
在MFC中,用CStdioFile类可以很方便地一行一行读取文件。 可是最近我在编写MFC程序时,用CStdioFile读取中文文本时,发现读入的是乱码。在网上查了很多方法都得不到很好的解决。后来本人冷静下来仔细分析了一下,找到了一种可行的方法。下面是我的这种方法的基本思路:
读入 MultiByteToWideChar()
中文文本(ascii编码方式) --------------> char ch[ ] ----------------------------------> wchar_t wch[ ]
首先,为了读入中文文本,我从CFile类派生了自己的类CMyFile,并在CMyFile类中添加并实现了每次读取一行的GetLine()函数。
然后,用GetLine函数每次从文件中读取一行,存入字符数组char ch[ ]中。
到目前为止,数组ch[ ]中的字符是ascii编码方式,为了将其转换为unicode编码方式,需调用API函数MultiByteToWideChar()。
在这里,具体的代码我就不详细写了,自己研究一下应该很容易写出的。
在MFC中,用CStdioFile类可以很方便地一行一行读取文件。 可是最近我在编写MFC程序时,用CStdioFile读取中文文本时,发现读入的是乱码。在网上查了很多方法都得不到很好的解决。后来本人冷静下来仔细分析了一下,找到了一种可行的方法。下面是我的这种方法的基本思路:
读入 MultiByteToWideChar()
中文文本(ascii编码方式) --------------> char ch[ ] ----------------------------------> wchar_t wch[ ]
首先,为了读入中文文本,我从CFile类派生了自己的类CMyFile,并在CMyFile类中添加并实现了每次读取一行的GetLine()函数。
然后,用GetLine函数每次从文件中读取一行,存入字符数组char ch[ ]中。
到目前为止,数组ch[ ]中的字符是ascii编码方式,为了将其转换为unicode编码方式,需调用API函数MultiByteToWideChar()。
在这里,具体的代码我就不详细写了,自己研究一下应该很容易写出的。
相关文章推荐
- 一行一行的读取txt中文文本(解决乱码问题)
- Flash读取XML文件的中文时出现乱码问题解决方法
- C#中StreamReader读取中文文本出现乱码的解决方法
- C#中StreamReader读取中文文本出现乱码的解决方法
- VC 读取文本文件内容,中文乱码的问题解决
- JavaScript读取中文cookie时的乱码问题的解决方法
- JavaScript读取中文cookie时的乱码问题的解决方法
- C#中StreamReader读取中文文本出现乱码的解决方法
- Java:InputStream读取文本文件内容出现乱码问题的解决方法
- 解决方法:ASP读取数据库中的中文数据出现乱码的问题
- QT中一种中文乱码问题的解决方法
- Java中解决中文乱码问题的一种方法
- php 读取xml的方法 (iconv解决中文乱码问题)
- Python实现的json文件读取及中文乱码显示问题解决方法
- 【转载】C#中StreamReader读取中文文本出现乱码的解决方法
- JSP传递参数中文乱码问题的一种解决方法
- C#中StreamReader读取中文文本出现乱码的解决方法
- C#中StreamReader读取中文文本出现乱码的解决方法
- C#中StreamReader读取中文文本出现乱码的解决方法(转)
- C#中StreamReader读取中文文本出现乱码的解决方法