hur.cn - 华软网

 热门搜索

VS2005中用MFC的CStdiofile往一个txt文件中写汉字和字符的问题 急急

  作者:未知    来源:网络    更新时间:2011/6/12

环境是vs2005

CStdioFile myfile;
myfile.Open( _T("c:\\a.txt"), CFile::modeCreate|CFile::modeWrite );
CString str = _T("abc\n");
myfile.WriteString( str );
CString strTemp = _T("你好");
myfile.WriteString( strTemp );
myfile.close();


项目-> 属性->常规->字符集 设置的是使用Unicode字符集。

为什么字母能写进去,汉字写不进去。怎么解决。
或者在MFC中用什么能解决往txt文件中一次写汉字,一次写字符的问题。
---华软 网友回答---
CStdioFile myfile;
myfile.Open( _T("c:\\a.txt"), CFile::modeCreate|CFile::modeWrite );

char* old_locale = _strdup( setlocale(LC_CTYPE,NULL) );
setlocale( LC_CTYPE, "chs" );
CString str = _T("abc\n");
myfile.WriteString( str );
CString strTemp = _T("你好");
myfile.WriteString( strTemp );
setlocale( LC_CTYPE, old_locale );
free( old_locale );
myfile.Close();
---华软网友回复---
这个好像只能转成ANSI再写(WideCharToMultiByte)
可以参考:
http://blog.csdn.net/a32132100/archive/2011/05/17/6425837.aspx

http://blog.csdn.net/MagicFuzzX/archive/2011/04/23/6347291.aspx
---华软网友回复---
mark 一下
---华软网友回复---
http://blog.csdn.net/haogeai123
---华软网友回复---
不好意思。
下面的http://blog.csdn.net/haogeai123/archive/2011/03/31/6292140.aspx
---华软网友回复---
用CFile类
---华软网友回复---
1这个确实不能写进去
2去GOOGLE,有写好的扩展类
3用CFile
---华软网友回复---
用CFile类      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。