Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/149.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何以写模式打开根目录下的文件?_C++_Qt_Ubuntu_File Io_Root - Fatal编程技术网

C++ 如何以写模式打开根目录下的文件?

C++ 如何以写模式打开根目录下的文件?,c++,qt,ubuntu,file-io,root,C++,Qt,Ubuntu,File Io,Root,我在根目录中有一个文件,我想在QT应用程序中打开该文件进行编辑。 通常,我们使用sudo filepath以所有权限打开文件。 但我想在我的C++ QT应用程序中实现这一点。 任何形式的帮助都是值得赞赏的。 谢谢。您的程序需要以root权限执行,或者更具体地说,需要以对这些文件具有访问权限的用户身份执行 如果不是,则不可能访问这些文件,因为操作系统不允许您的程序访问这些文件。在C++代码中没有修改来解决这个问题。您需要使用sudo执行程序执行以下操作 获取userid,如果它不是0(root的

我在根目录中有一个文件,我想在QT应用程序中打开该文件进行编辑。 通常,我们使用sudo filepath以所有权限打开文件。 但我想在我的C++ QT应用程序中实现这一点。 任何形式的帮助都是值得赞赏的。
谢谢。

您的程序需要以root权限执行,或者更具体地说,需要以对这些文件具有访问权限的用户身份执行

如果不是,则不可能访问这些文件,因为操作系统不允许您的程序访问这些文件。在C++代码中没有修改来解决这个问题。您需要使用
sudo执行程序

执行以下操作

  • 获取userid,如果它不是0(root的uid是0),则执行以下操作
  • 使用gksu/kdesu执行argv[0]
  • 执行任务

位于根目录中与文件权限无关。但如果您需要特殊权限,则需要以具有正确权限的用户身份运行应用程序。也许看看。