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