系统相关
首页 > 系统相关> > c – 在内存中创建文件,然后使用7-zip命令行将它们推入zip存档?

c – 在内存中创建文件,然后使用7-zip命令行将它们推入zip存档?

作者:互联网

我正在尝试在C中动态创建zip文件,我正在使用7-zip来尝试完成此操作,特别是我想使用7-zip命令行(我愿意尝试修改其源代码来完成这个).

这是可能的,如果是这样,我应该怎么做呢?

解决方法:

7-zip可以从STDIN压缩,因此您可以使用某些命令行参数启动7z进程,然后将数据放入其STDIN中.例如以下:

echo foo | 7z a arc.7z -sifoo.txt
echo bar | 7z a arc.7z -sibar.txt

将创建包含两个文件的arc.7z文件:foo.txt和bar.txt(分别包含文本foo和bar).

当然,从你的程序中你不需要调用echo,只有7z用管道重定向STDIN或者你的操作系统提供的其他方法.如果您需要添加多个文件,则必须多次启动7z.

标签:7zip,c,zip,stream
来源: https://codeday.me/bug/20190902/1791958.html