在使用fopen打开中文的文件名时,总是出错!!!(

hhzzmm 2011-09-08 08:04:00
请教一个棘手的问题:
我的一开发环境是:RedHat Enterprise 5
gcc 4.1.2
QT 3.3.6

在使用fopen打开中文的文件名时,总是出错!!!(如果将中文换成英文文件名后,错误消失,但必须要使用中文的文件名)
实际代码如下:

pFilename="地址映射测试.xml";
fp= fopen(pFilename,"r");
if(fp == NULL)
{
b=false;
return;

}
...全文
759 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
jackyjkchen 2011-09-08
  • 打赏
  • 举报
回复
Windows没关系,因为VC首先就不在乎源码字符集,utf8源码编译出来也是gbk中文,而双版本Windows API也给你自动转换成内核使用的UTF16

Linux下你要保证你源码的字符集和磁盘上文件名的字符集完全一致才行,比如都是utf8,gcc不指定编码的情况下,靠源文件编码
谭海燕 2011-09-08
  • 打赏
  • 举报
回复
字符集不对。

使用QFile来打开文件。而且Qt中字符串默认是就是unicode.所以中文也可以。

23,217

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧