fstream和中文路径
前几天用了一个开源的工具来设计界面(www.wxformbuilder.org)。结果发现有个bug,只要存储路径有中文字符,存储就会失败,而且没有任何提示。一下午的工作就白白丢失了。今天自己写程序也遇到这个情况,是fstream的问题。默认的情况下不支持中文路径。fopen就可以。
查到一篇文章讲这个,一定程度上能解决问题:
问题:
有时候用ifstream或ofstream打开带有中文路径的文件会失败。
解决办法:
1、使用C语言的函数设置为中文运行环境
setlocale(LC_ALL,”Chinese-simplified”);
2、使用STL函数设置为系统语言环境
std::locale::global(std::locale(”"));
当然选2啦!
但是据说这样之后cout又不能输出中文了。

本文探讨了使用fstream处理中文路径文件时遇到的问题,并提供了解决方案。通过设置运行环境为中文或系统语言环境,可以有效避免打开含有中文路径的文件失败的情况。
2208

被折叠的 条评论
为什么被折叠?



