fstream 中文路径

问题: 有时候用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();

你可能感兴趣的:(C++数据类型转换)