gpt4 book ai didi

windows - QFileInfo::isWritable() 在 Windows 7 上以完全权限返回 false

转载 作者:可可西里 更新时间:2023-11-01 10:00:46 27 4
gpt4 key购买 nike

QFile file(filePath);
QFileInfo fileInfo(file);

file.open(QIODevice::ReadWrite); //or WriteOnly

if(!fileInfo.isWritable())
{
//Log error
}
else
{
//Save to file
}

问题是,文件路径具有完全访问权限,文件已创建且可写,但 isWritable() 仍返回 false。如果我删除写访问检查并简单地写入文件,则写入成功。 QFile::open 也返回 true。有什么想法吗?

最佳答案

QFileInfo::isWritable() 不是检查打开的文件是否可写,而是检查当前用户对该文件的权限。如果您只想查看打开文件操作是否成功,请检查调用 QFile::open() 的返回值。如果它返回 true,则文件已准备好写入。如果它返回 false,请执行错误处理。

我不知道为什么 isWritable() 在您的情况下会失败。可能是 Windows 认为该文件已打开,因此无法从另一个 open() 调用写入。如果您真的想检查权限,请在打开文件之前调用 isWritable()

关于windows - QFileInfo::isWritable() 在 Windows 7 上以完全权限返回 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10143207/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com