问题: 有时候用ifstream或ofstream打开带有中文路径的文件会失败。
有两种解决办法:
第一种、使用C语言的函数设置为中文运行环境
setlocale(LC_ALL,"Chinese-simplified");
第二种、使用STL函数设置为系统语言环境
std::locale::global(std::locale(""));
推荐选择第二种方式!
使用方式:
std::ifstream ifs;
std::locale::global(std::locale(""));
ifs.open(file_name.c_str());
assert(ifs.is_open());
...
ifs.close();