实在太郁闷了,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;
}
控件台,命令行参数传入文件名。开始时用的是英文文件名调试,没有问题。后来把所有工作做好了,在控制台中输入中文文件,一直文件打开失败!
最后想到是不是不支持中文名。果不其然:
解决方法:
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;
}
相关文章推荐
- fstream默认不支持中文路径和输出整数带逗号的解决办法
- 原来siri支持中文
- 让fstream支持中文路径
- fstream支持中文路径
- vc2008 fstream不支持中文路径的解决方案
- vc2008 fstream不支持中文路径的解决方案
- fstream默认不支持中文路径和输出整数带逗号的解决办法
- 让VS2005中的fstream支持中文路径文件打开
- fstream不支持中文文件名的问题
- vc2008 fstream不支持中文路径的解决方案
- 让VS2005中的fstream支持中文路径文件打开
- fstream默认不支持中文路径和输出整数带逗号的解决办法
- 让VS2005中的fstream支持中文路径文件打开
- vs2005环境,fstream不支持中文路径的问题
- [转]让fstream支持中文路径
- 让VS2005,vs2008中的fstream支持中文路径文件打开
- fstream不支持中文文件名的问题
- VS2005的fstream对于中文路径支持
- 让VS2005中的fstream支持中文路径文件打开
- 让VS2005中的fstream支持中文路径文件打开 (转)