1
我有这个文件位于我的C盘,我知道它存在。当我用QFile.exists()访问它时,它返回false,但它仍然打开文件并写入它,我只是不能读取它。我一直在这个工作一段时间,找不到解决方案,任何建议表示赞赏。Qt QFile返回不存在但仍然打开并写入文件
QFile tmpfile("C:/file.txt");
QString tmpcontent;
if(!QFile::exists("C:/file.txt"))
qDebug() << "File not found"; // This is outputted
if (tmpfile.open(QIODevice::ReadWrite | QIODevice::Truncate)) {
QTextStream stream(&tmpfile);
stream << "test"; //this is written
tmpcontent = tmpfile.readAll(); // this returns nothing
}
Mabe'exists'函数不处理正斜杠,而'open'函数只是将路径传递给系统。也许。 –
您是否检查过文件本身的[permissions](http://msdn.microsoft.com/zh-cn/library/bb727008.aspx)?可能,您只能写入权限。这至少会解释readAll部分,但如果Qt通过尝试读取来检查存在... – Aconcagua