您的位置:首页 > 其它

实在太郁闷了,fstream原来不支持中文名

2009-06-09 22:20 281 查看
前几天想用VIM看小说,但是由于VIM滚屏时感觉很不爽,所以想写一个将按屏幕行截断为文本行的程序。

控件台,命令行参数传入文件名。开始时用的是英文文件名调试,没有问题。后来把所有工作做好了,在控制台中输入中文文件,一直文件打开失败!

最后想到是不是不支持中文名。果不其然:

解决方法:
1、使用C语言的函数设置为中文运行环境
setlocale(LC_ALL,"");

2、使用STL函数设置为系统语言环境
std::locale::global(std::locale(""));

示例代码如下:

int SaveRecordToFile(CString szStr, CString szFilename)
{
std::locale::global(std::locale(""));
ofstream of(szFilename);
of<<szStr;
of.close();
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: