compression - 为什么这个 C 程序填充驱动器 C:\?
问题描述
下面的代码是一个压缩一些的 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;
}
@phuclv 我没有创建此代码,但我知道 strcp 用于清除字符串命令。至于日期线,我是这样写的:
time_t rawtime;
struct tm * timeinfo;
char data[30];
time (&rawtime);
timeinfo = localtime(&rawtime);
strftime(data,30,"_%Y%m%d",timeinfo);
解决方案
RAR.EXE
程序调用的命令行C
不使用GUI 程序中的temp-files
设置。
您需要使用命令行参数为 RAR.EXE 指定临时文件夹。
我没有 WinRAR 的副本可供我使用,但或者应该为您提供要使用的参数的信息。WinRAR.EXE
RAR -h
RAR -?
推荐阅读
- java - 如何强制 Java 的 jSerialComm 在通过串行连接发送的消息之间短时间空闲?
- python - 如何使用 Python / Scipy 平滑地缩放信号中的特定区域?
- linux - 如何在windows中设置makefile
- c++ - posix中强大的rwlock
- android - 我使用 putExtra() 意向方法传递给另一个活动的数据存储在哪里?
- image-processing - 在连续随机生成的训练数据上训练神经网络是个好主意吗?
- javascript - 根据 div 中的行数显示“阅读更多”按钮
- android - 调用需要权限,这可能会被 android API 28 中的用户拒绝
- visual-studio-code - vscode 跳转到当前文件的 git/源代码控制快捷方式/命令
- c# - Azure 移动服务器 SDK:何时评估 IQueryable?