如何在C中将多个内存文件写入一个存档文件?

时间:2019-04-22 20:20:50

标签: c tar

我需要使用C语言将多个内存文件连接为一种“标准”(不是我自己的)存档文件格式。压缩并不重要,但是应该是一个文件,即.tar文件。结果,我需要将此存档文件写入stdout

在C#中,我通常使用System.IO.Packaging名称空间,但是现在我需要使用C。大多数示例都描述了压缩文件系统的实体,但是我不能只使用tar实用程序,因为我unsigned char *变量中有数据,而不是磁盘上。我知道libtar可以提供帮助,但是我发现的所有示例都使用时态文件。我想找到一种不会创建临时文件的解决方案。

1 个答案:

答案 0 :(得分:3)

tar 应该为仅追加格式。我相信您可以使用libtar示例中的any,但对于STDOUT_FILENO可以将tar_fdopenfd一起使用...