1

我正在使用安装在 Ubuntu 10.04 上的 Qt 4.7 .... 我无法在当前目录“。”以外的位置创建 qt 文件。

此代码运行良好:

QFile file("data.txt");
if (!file.open(QIODevice::Append))
{
    qDebug("ERROR WHILE OPENING THE FILE TO APPEND Data");
    return ;
}

但是这段代码失败了(我认为是因为权限):

QFile file("/var/lib/mysql/testdb/data.txt");
if (!file.open(QIODevice::Append))
{
    qDebug("ERROR WHILE OPENING THE FILE TO APPEND Data");
    return ;
}

那么,我该如何解决这个问题并赋予程序在文件系统的任何位置创建文件的权限?

4

1 回答 1

2

您可以通过以下方式之一快速解决此问题:

  • 以 root 身份运行(这是一个很大的禁忌)
  • 以 root 身份更改您需要的目录的权限,chmod /the/dir o+rwx- 这让每个人都可以写入该目录。
  • 以 root 身份更改您需要的目录的所有者,chown myuser /the/dir- 这让您的用户可以写入目录。

您可以通过坚持当前用户可以访问的目录来正确解决此问题- 权限的存在是有原因的。

于 2011-03-12T13:39:16.373 回答