QFile file(filePath);
QFileInfo fileInfo(file);
file.open(QIODevice::ReadWrite); //or WriteOnly
if(!fileInfo.isWritable())
{
//Log error
}
else
{
//Save to file
}
問題は、ファイルパスがフルアクセス権を持っている、ファイルが作成され、書き込み可能な、まだisWritableされているWindows上で完全な権限でfalseを返すまだfalseを返します。書き込みアクセスチェックを削除してファイルに書き込むだけで、書き込みは成功します。 QFile :: openもtrueを返します。何か案は?はのQFileInfo :: isWritable())(7
私の投稿をチェックすると、すでにopen()の戻り値をチェックしようとしたことがわかります(trueを返します)。ファイルを開く前に 'isWritable()'を呼び出そうとしましたが、まだfalseを返します。あなたが言っていることが真実なら、 'open()'呼び出しで私のチェックが失敗することはなく、すべてが意図どおりに動作します。 – krizajb
これはうまくいくようですが、このソリューションはUnix互換(UbuntuとKubuntuでテスト済み)です。ありがとう。 – krizajb