在我的 Qt 5.5.1 程序中,我必须将我的配置文件权限从只读更改为读写...我有 2 个问题:
如何设置此权限?我已经尝试过:
QFile(path).setPermissions(QFile::ReadWrite);
但是它会抛出这个编译器错误:C2664: 'bool QFile::setPermissions(const QString &,QFileDevice::Permissions)' : cannot convert argument 1 from 'QIODevice::OpenModeFlag' to 'QFileDevice::Permissions' No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
如何获取特定文件的权限?
最佳答案
正确的方法是使用正确的枚举,从 QFileDevice::Permissions
中选择一个值-enum 而不是(我相信这是 Qt5 的变化)。例如:
QFile(path).setPermissions(QFileDevice::ReadOwner | QFileDevice::WriteOwner);
要获取文件的权限,请使用 .permissions()
QFile
的方法:
QFileDevice::Permissions p = QFile(path).permissions();
返回所有文件权限的 OR 运算。因此,要测试是否设置了某个权限,您可以执行以下操作:
if (p & QFileDevice::ReadOwner)
{
}
关于c++ - 使用 QFile().setPermissions() 设置读写权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34635653/