-1

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

谢谢

4

2 回答 2

1

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

于 2012-04-11T08:56:23.057 回答
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());
于 2012-04-11T08:51:43.310 回答