在当前目录以外的位置创建QFile时出现问题

时间:2011-03-12 13:31:06

标签: c++ qt qfile

我在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 ;
}

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

1 个答案:

答案 0 :(得分:2)

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

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

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

相关问题