工程是vs2005搭建的,使用的是多字节字符集。在fstream open时,当文件名含有中文时,就不成功了。
解决办法说,修改系统语言环境,而我采取的是
使用STL函数设置为系统语言环境 std::locale::global(std::locale(""));
// 使用STL函数设置为系统语言环境
std::locale::global(std::locale(""));
fstream _hfstream;
_hfstream.open(strFileName.c_str(), ios::out | ios::binary | ios::trunc);
不过据说还有另外一种方式:
使用C语言的函数设置为中文运行环境,
setlocale(LC_ALL,"Chinese-simplified");
setlocale(LC_ALL,"");
倒是没有试过,不过应该是可行的吧。