我正在尝试untar
一个包含QProcess
的文件,该文件位于QDir::tempPath()
返回的目录中,如下所示:
extract.start("tar", QStringList() << "-xvzf" + QDir::tempPath() + "/thefile.tar.gz");
我通过查看QProcess
的standardOuput
来获得提取的正确输出,但最后没有提取的文件。从shell手动运行tar
可以很好地处理文件,所以我知道它没有损坏,我本以为是权限问题,但实际上我正在将文件和应用程序一起下载到临时目录,因此应用程序应该具有写访问权限。
编辑:我现在也在主目录中的文件中尝试过,它肯定在那里,但我得到了与临时目录中相同的结果,详细的输出表明成功,但没有结果文件。
您需要设置工作目录,默认情况下,该目录可能是可执行文件的二进制文件的文件夹。
您可以使用QProcess::setWorkingDirectory