文件合并C ++

时间:2012-04-11 08:47:08

标签: c++ file binary

我正在开发一个文件分割器和算法的算法。合并,我偶然发现了一个问题我如何合并文件(我拆分)与他们的原始扩展名(文件格式)。我有一个想法是在第一块分割文件的开头写入文件格式(如果我将文件拆分为三个文件,则将文件格式存储在1.bij文件中)。这个想法会起作用吗?你知道更好的主意吗,请与我分享。

由于

2 个答案:

答案 0 :(得分:1)

您可以为每个拆分文件添加一个标题,包含其完整文件名,但也可以 - 例如 - 包含原始大小,校验和等。


编辑:如何将文本写入二进制流

fstream f(/* initialize*/);

std::string s = "asdf";

// Store the size of text
auto size = s.size();
f.write(&size, sizeof(size));

// Store the string itself
f.write(s.c_str(), s.size());

答案 1 :(得分:1)

为什么不让用户使用命令行参数选择文件名?您可以使用-o命令行选项。使用-文件名让用户重定向到标准输出的加分点。然后他可以用另一个工具管道。例如:merger -o - part*.bin | tar zxvf -