Не получается архивировать файл на с++

я хочу, чтобы моя программа на с++ архивировала папки. Для этого я использую архиватор 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 можно прочитать тут.

→ Ссылка