qt的QFile读取文件失败

尘中远 2013-09-27 10:19:02
//装载数据库内容
QFile file(xmlFile);
qDebug()<<file.exists();
if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
{
……
}
else
{
qDebug()<<file.error();
qDebug()<<file.errorString();
}


输出结果:
true
0
"Unknown error"

也就是说文件是存在但就是打不开,我当时以为是路径有中文会影响,结果改了纯英文也不行,蛋疼死了,用记事本什么的都能轻松打开,就是QFile不能,请问各位有没有遇到这样的情况?
...全文
4185 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
懒懒的吉他手 2013-09-27
  • 打赏
  • 举报
回复
if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) 这句话的意思是如果文件打不开执行这个,else里面才是打开的吧?
懒懒的吉他手 2013-09-27
  • 打赏
  • 举报
回复
文件路径有没有空格?
尘中远 2013-09-27
  • 打赏
  • 举报
回复
引用 5 楼 adeng1919 的回复:
bool QFile::open ( OpenMode mode ) [virtual] Reimplemented from QIODevice::open(). Opens the file using OpenMode mode, returning true if successful; otherwise false. 打开成功,返回true,你又加了个'!',所以是失败的时候执行了if,成功执行else
囧死,超级低级错误谢谢了~
懒懒的吉他手 2013-09-27
  • 打赏
  • 举报
回复
bool QFile::open ( OpenMode mode ) [virtual] Reimplemented from QIODevice::open(). Opens the file using OpenMode mode, returning true if successful; otherwise false. 打开成功,返回true,你又加了个'!',所以是失败的时候执行了if,成功执行else
尘中远 2013-09-27
  • 打赏
  • 举报
回复
引用 1 楼 adeng1919 的回复:
文件路径有没有空格?
没有空格,后来我自己在d盘根目录下建立一个txt都打不开,x64,win7的
尘中远 2013-09-27
  • 打赏
  • 举报
回复
引用 2 楼 adeng1919 的回复:
if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) 这句话的意思是如果文件打不开执行这个,else里面才是打开的吧?
是就是没打开,所以执行else了

16,202

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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