wofstream写中文失败,导致stream对象badbit

http://blog.163.com/pengzili@yeah/blog/static/6285132420086291000191/

 

在vs2005环境下,用fstream打开中文路径的文件会失败,
方法一
使用C语言的函数设置为中文运行环境
setlocale(LC_ALL,"Chinese-simplified");
方法二
使用STL函数设置为系统语言环境
std::locale::global(std::locale(""));

项目使用unicode字符集的时候,控制台输出中文会显示问号
使用方法一就可以输出中文了。

使用wofstream向文件中写中文写不了的情况
wofstream ofile;
ofile.imbue(std::locale("chs"));

 

你可能感兴趣的:(wofstream写中文失败,导致stream对象badbit)