C中的文件存档

时间:2010-11-26 19:00:40

标签: c

我想知道如何使用编程语言C来创建文件存档器,例如tar。 我坚持第一点关于如何将一堆文件复制到一个文件中,然后将它们从那个文件中提取出来。 任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:2)

阅读tar格式以获得一些灵感是个好主意。

http://en.wikipedia.org/wiki/Tar_%28file_format%29

http://www.gnu.org/software/automake/manual/tar/Standard.html

如果您掌握了基本的C I / O,这很简单,也不应该太难实现。

答案 1 :(得分:0)

假设您不想要压缩,这非常困难,并且只是想要一些非常简单的东西,您将需要执行以下操作:

创建一个文件来保存所需的所有文件。

获取您要归档的其中一个文件,获取namename_size,然后size

将文件的name_sizenamename的{​​{1}}和文件的size *字节写入存档文件中。  对要归档的所有文件重复上述步骤。

要从一个存档中恢复文件,您需要读取名称的大小,使用下一个size下一个字节创建该文件,然后读取文件字节的name_size,并将它们写入您创建的单个文件。

你会有这个:

File1中:


xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx


FileN:


yyyyyyyyyyyyyyyyyyyy


归档后,您将拥有:


5File1 size {xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx5FileN {1}} yyyyyyyyyyyyyyyyyyyy