Не получается архивировать файл на с++
я хочу, чтобы моя программа на с++ архивировала папки. Для этого я использую архиватор 7z. В консоле у меня уже получилось архивировать папку, но я хочу, чтобы код делал это за меня.
// Это только отрывок кода
system("cd \"C:\\Program Files\\7-Zip\"");
string temp = "7z a -mx1 C:\\tasks\\ztask" + to_string(task_count + 1)
+ ".7z C:\\task\\task" + to_string(task_count + 1);
// 7z a -mx1 C:\tasks\ztask6.7z C:\tasks\task6
system(temp.c_str());
P.S Немного изменил код, но все равно не работает(создается пустой архив).
string temp = "\"C:\\Program Files\\7-Zip\\7z.exe\" a -mx1 C:\\tasks\\ztask"
+ to_string(task_count + 1) +".7z C:\\task\\task" + to_string(task_count + 1);
// 7z a -mx1 C:\tasks\ztask6.7z C:\tasks\task6
system(temp.c_str());
Почему мой код не архивирует папку? В папке есть еще папки.Подскажите, пожалуйста, в чем проблема.
Ответы (1 шт):
Автор решения: Руслан Мамедов
→ Ссылка
Вдруг кому-то пригодится...
string temp = "\"C:\\Program Files\\7-Zip\\7z.exe\" a -mx9 -r0 -sdel C:\\tasks\\task"
+ to_string(task_count + 1) + " C:\\tasks\\task" + to_string(task_count + 1);
system(temp.c_str());
Эта реализация создает архив, и удаляет не архивированную копию. Подробную информацию об этой команде cmd можно прочитать тут.