QFile file(filePath);
QFileInfo fileInfo(file);
file.open(QIODevice::ReadWrite); //or WriteOnly
if(!fileInfo.isWritable())
{
//Log error
}
else
{
//Save to file
}
問題是,filepath具有完全訪問權限,文件被創建並可寫,但isWritable()仍然返回false。如果我刪除寫入訪問檢查並只寫入文件,則寫入成功。 QFile :: open也返回true。有任何想法嗎?QFileInfo :: isWritable()以完全權限在Windows 7上返回false
如果你檢查我的帖子,你會看到我已經嘗試檢查'open()'的返回值(返回true)。只是在打開文件之前嘗試調用'isWritable()',仍然返回false。如果你說的是真的,那麼我的檢查不會在'open()'調用失敗,並且一切都將按照預期工作。 – krizajb 2012-04-16 05:41:08
看起來很有效,這個解決方案也是Unix兼容的(在Ubuntu和Kubuntu上測試過)。謝謝。 – krizajb 2012-04-16 10:30:05