我的任务很简单。每当我运行我的 C++ 程序时
$ ./myprogram
我想在 CWD 中搜索所有源文件 (*.cpp),然后在目录 ./output
中复制它们,然后创建某种压缩存档文件.我不关心什么类型的压缩或存档格式,只要将它们全部放在一个文件中即可。
目前,我正在使用以下功能:
int archiveFiles(string destinationFile) {
int ret;
ret = system( ("tar -cf " + destinationFile + " ./*.cpp").c_str() );
ret = system( ("gzip " + destinationFile).c_str() );
return ret;
}
通过调用 archiveFiles("output");
但我更希望不使用系统调用。我宁愿在 myprogram
本身中进行复制/存档/压缩。如果可能的话,我也不希望使用特殊的库。
无论如何只用标准库元素来做到这一点?
最佳答案
没有用于执行此操作的 C++ 标准库元素。您必须使用特殊的库、使用外部应用程序或开发您自己的文本压缩器。
我想您最接近使用“标准”库的方法是使用 Boost 库。我刚找到 this question并认为 Boost 可能支持 gzip。
关于c++ - 使用 C++ 复制和存档/压缩文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25341992/