使用CStdioFile读取/写入中文文本文件出错的问题
来源:互联网 发布:程序员成长的烦恼 编辑:程序博客网 时间:2024/05/22 08:28
这个是由编码、语言区域等问题导致。
解决方法为设定语言区域为中文,如下:
- #include <locale.h>
- //CStdioFileChs UNICODE编译 读取中文汉字乱码解决办法
- class CStdioFileChs : public CStdioFile
- {
- private:
- char *old_locale;
- public:
- CStdioFileChs(const LPCTSTR path = NULL, UINT nOpenFlags = CStdioFile::modeWrite)
- {
- //设置语言为中文,否则在Unicode编码下读出中文字符为乱码
- old_locale=_strdup( setlocale(LC_CTYPE, NULL) );
- setlocale( LC_CTYPE,"chs");
- if ( NULL == path )
- return;
- Open( path, nOpenFlags);
- }
- ~CStdioFileChs()
- {
- setlocale( LC_CTYPE, old_locale ); //还原语言区域的设置
- free( old_locale );//还原区域设定
- }
- };
#include <locale.h>//CStdioFileChs UNICODE编译 读取中文汉字乱码解决办法class CStdioFileChs : public CStdioFile{private:char *old_locale;public:CStdioFileChs(const LPCTSTR path = NULL, UINT nOpenFlags = CStdioFile::modeWrite){//设置语言为中文,否则在Unicode编码下读出中文字符为乱码old_locale=_strdup( setlocale(LC_CTYPE, NULL) );setlocale( LC_CTYPE,"chs");if ( NULL == path )return;Open( path, nOpenFlags);}~CStdioFileChs(){setlocale( LC_CTYPE, old_locale ); //还原语言区域的设置free( old_locale );//还原区域设定}};
- 使用CStdioFile读取/写入中文文本文件出错的问题
- 使用CStdioFile读取/写入中文文本文件出错的问题
- CStdioFile的Writestring无法写入中文的问题
- CStdioFile的Writestring无法写入中文的问题
- vc2005 unicode下 cstdiofile无法写入中文的问题
- VC2005 UNICODE下 CStdioFile无法写入中文的问题
- CStdioFile::WriteString 不能写入中文问题
- 文本文件中读取中文乱码的问题
- 解决UNICODE字符集下CStdioFile的Writestring无法写入中文的问题
- 解决UNICODE字符集下CStdioFile的Writestring无法写入中文的问题
- 解决UNICODE字符集下CStdioFile的Writestring无法写入中文的问题
- 解决UNICODE字符集下CStdioFile的Writestring无法写入中文的问题
- 解决UNICODE字符集下CStdioFile的Writestring无法写入中文的问题
- 解决UNICODE字符集下CStdioFile的Writestring无法写入中文的问题
- 解决UNICODE字符集下CStdioFile的Writestring无法写入中文的问题//setlocale
- 解决UNICODE字符集下CStdioFile的Writestring无法写入中文的问题
- 解决UNICODE字符集下CStdioFile的Writestring无法写入中文的问题
- 解决UNICODE字符集下CStdioFile的Writestring无法写入中文的问题和在在原文件后写入文件
- Listpicker with button in full mode in WP7
- lenovo Y450 --- Ubuntu 13.04 安装 博通无线网卡驱动(系统离线上不了网的情况)
- Linux上vi(vim)编辑器使用说明
- 8个笑话 8味人生
- Dividing title to chapters
- 使用CStdioFile读取/写入中文文本文件出错的问题
- HDU 1561 The more, The Better(树形DP)
- 如何清除SQL Server Management Studio的最近服务器列表
- hdu 1595 find the longest of the shortest(最短路spfa)
- 心态决定你的眼光
- 【Windows】线程漫谈——线程同步之等待函数和事件内核对象
- openFileOutput()对文件操作
- Flash ActionScript 3.0的Socket连接的策略文件
- 有些话,可能是你一辈子想知道的答案