c++ - 使用 QFile().setPermissions() 设置读写权限

标签 c++ qt qt5 qfile

在我的 Qt 5.5.1 程序中,我必须将我的配置文件权限从只读更改为读写...我有 2 个问题:

  1. 如何设置此权限?我已经尝试过: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

  2. 如何获取特定文件的权限?

最佳答案

正确的方法是使用正确的枚举,从 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/

相关文章:

c++ - 应用程序启动时的 boost_thread 段错误

Qt5 转发信号

c++ - 更改凹槽背景时隐藏 QSlider handle

c++ - QTreeWidgetItem 的拖放不能正常工作

c++ - 读取不同数据类型的二进制数据

php - 那么...人们如何使用 Visual C(++) 进行编程?

c++ - boost::asio 将套接字转换为安全

python - 使用QWebElement解析HTML,如何提取图像?

c++ - 将派生自 QAbstractListModel 的类提供的 QIcon 绑定(bind)到 QML Image

c++ - 如何找出文件夹是否需要管理权限才能修改其内容?