Почему эта программа на C заполняет диск C: \? - PullRequest
0 голосов
/ 09 мая 2019

Код ниже - это программа на C, которая сжимает некоторые из них.Они делятся папками, а у некоторых около 6G.Но сегодня на диске C: / есть только 4G свободного места, и каждый раз, когда запускается скрипт, я полагаю, это из-за временных файлов.

Но я уже изменил папку для временных файлов в Winrar наФункции> Настройки> Путь> Папка для временных файлов: «E: \ temp».

Что может происходить?Видите, код в основном такой (некоторые фрагменты, где вы просто изменяете каталог, который нужно сжать, и удаляете для суммирования):

#include <iostream>
#include <ctime>
#include <stdio.h>
#include <string.h>
#include <cstdlib>

using namespace std;

int main(){

    char comando [150]={""};

    char ano [3];
    char mes [3];
    char dia[3];
    char data[15] ={""};
    char pasta[15] = {""};
    char *Pont_Pasta = pasta;

    unsigned long tempo_Espera = 100000;

    time_t t = time(0);
    struct tm * now = localtime (& t);
    sprintf(ano,"%i",now->tm_year+1900);
    sprintf(mes,"%i",now->tm_mon+1);
    sprintf(dia,"%i",now->tm_mday);

    strcat(data,"_");
    strcat(data,ano);
    strcat(data,"_");
    strcat(data,mes);
    strcat(data,"_");
    strcat(data,dia);

 strcat(comando,"start c:\\arquiv~1\\winrar\\rar a E:\\backup\\aquisicao\\aquisicao");strcat(comando,data);strcat(comando,".rar E:\\aquisicao");
    system(comando);
    strcpy(comando,"");
    _sleep(tempo_Espera);

 (...)

 return 0;    
}

1 Ответ

1 голос
/ 09 мая 2019

Командная строка RAR.EXE, вызываемая программой C, не использует параметр temp-files из программы WinRAR.EXE GUI.
Вам необходимо указать временную папку для RAR.EXEиспользуя параметр командной строки.
У меня нет копии WinRAR, но RAR -h или RAR -? должны предоставить вам информацию, какой параметр использовать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...