我正在开发一种用于文件拆分器和合并的算法,在那里我偶然发现了一个关于如何将文件(我拆分)与其原始扩展名(文件格式)合并的问题。我有一个想法,在拆分文件的第一个块的开头写入文件格式(即,如果我将文件拆分为三个文件,则将文件格式存储在 1.bij 文件中)。这个想法会奏效吗?你知道更好的主意吗,所以请与我分享。
谢谢
为什么不让用户使用命令行参数选择文件名?您可以使用-o
命令行选项。让用户使用-
文件名重定向到标准输出的奖励点。然后,他可以使用另一种工具进行管道传输。例如:merger -o - part*.bin | tar zxvf -
您可以为每个拆分的文件添加一个带有完整文件名的标题,但也可以包含 - 例如 - 原始大小、校验和等。
编辑:如何将文本写入二进制流
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());