关闭

ofstream无法访问带汉字的目录中的文件

标签: c
1179人阅读 评论(1) 收藏 举报
分类:
此为VS的一个BUG,原因是本地化的问题,如下处理即可。
locale loc = locale::global(locale(""));
ifstream ifs(filename.c_str());
locale::global(loc);
在 用ifstream和ofstream打开文件前设置全局locale为本地环境,打开文件后再设置回去。用locale对象的name方法可以看到,通 过locale("")构造出的locale对象的name为"Chinese_People's Republic of China.936",而原始的locale对象的name为"C",也就是缺省的ANSI_C公约。 
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:68061次
    • 积分:987
    • 等级:
    • 排名:千里之外
    • 原创:22篇
    • 转载:6篇
    • 译文:0篇
    • 评论:12条
    文章分类
    最新评论