1

Ubuntu10.04にインストールされているQt4.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 に答える