C++ 多个大文件在一个二进制文件中

C++ multiple big files in one binary file

在 c++ 的一个二进制文件中存储多个大文件(100Mo 到 5Go)的有效方法是什么? 例如,如果我有一个音频文件、一个非常大的图像文件和一个文本文件,我想创建一个包含这三个文件的二进制文件并能够在以后检索它们(重新创建三个原始文件)。

感谢您的帮助。

简短回答:

长话短说,这取决于你想如何包装这些东西,你想使用什么样的框架。

需要压缩吗?您需要随机访问吗?一种易于实施的方法就是使用 zip 容器,它定义明确,并且有很多库可用于创建和操作它们。 tar or cpio 格式也是如此。

另一种方法是编写您自己的容器格式。这要困难得多,你必须编写一个归档器和提取器。