Разархивируйте файл в каталоге OS X с помощью QProcess

Я пытаюсь untar файл с QProcess это в каталоге, возвращаемом QDir::tempPath(), следующее:

extract.start("tar", QStringList() << "-xvzf" + QDir::tempPath() + "/thefile.tar.gz");

Я получаю правильный вывод для извлечения, глядя на standardOuput для QProcess но в конце нет извлеченного файла. Вручную tar из оболочки отлично работает с файлом, так что я знаю, что он не поврежден, я предположил бы проблему с разрешениями, но на самом деле я загружаю файл с приложением во временный каталог, поэтому приложение должно иметь доступ для записи.

Редактировать: я также попробовал его с файлом в домашнем каталоге, он определенно есть, но я получаю те же результаты, что и во временном каталоге, подробный вывод указывает на успех, но не на полученный файл.

1 ответ

Решение

Вам нужно установить рабочий каталог, который по умолчанию, скорее всего, является папкой двоичного файла исполняемого файла.

Вы можете установить рабочий каталог с помощью QProcess::setWorkingDirectory

Другие вопросы по тегам