奇怪的问题,据说vs2003能成功,vs2005的确是要失败。。。
解决办法:
//设置代码页为简体中文,936是简体中文的代码页。
std::locale loc1 = std::locale::global(std::locale(".936"));
{
// 在这里使用std::ifstream 或者 std::fstream
}
 
//恢复原来的代码页
std::locale::global(std::locale(loc1));

posted on 2009-10-12 17:44 大宝天天见 阅读(1473) 评论(3)  编辑 收藏 引用 所属分类: 2.C/C++/C#/Java

评论:
# re: [原创]vs2005 下 fstream 不能打开中文路径名的问题! 2009-10-13 10:16 | 溪流
文件读写我觉得还是直接用 API 比较好。特别是文本文件。
1、反正不可能跨平台
2、为了更好的支持 Unicode  回复  更多评论
  
# re: [原创]vs2005 下 fstream 不能打开中文路径名的问题! 2009-10-13 18:21 | 陈梓瀚(vczh)
@溪流
跨平台不能就算了,但是要跨国界啊。  回复  更多评论
  
# re: [原创]vs2005 下 fstream 不能打开中文路径名的问题! 2009-10-15 21:25 | 溪流
@陈梓瀚(vczh)

所以坚决 Unicode、远离库函数嘛~  回复  更多评论
  

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理