C++ 中的 Zip 目录

发布于 2024-11-03 13:51:42 字数 255 浏览 0 评论 0原文

如何在 C++ 中压缩目录。我读了这个问题: How do I zip a 目录但我更喜欢使用 gzip、zlib 和 boost 之类的方法(因为我不想要向项目添加新的库)。 Winapi-way 也是可以接受的(如果存在的话)。我不想开始新的流程。

我想要一个代码示例。提前致谢

How can I zip directory in C++. I read this question: How do I zip a directory of files using C++? But I'd prefer a way that uses something like gzip, zlib and boost(because I do not want to add new libs to the project). Winapi-way is also acceptable (if it exists). And I do not want to start new process.

I would like a code sample. Thanks in advance

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

情愿 2024-11-10 13:51:42

您想要 zip 但不想使用任何库?

您是否想要受特定许可证的约束 - 如果是这样,只需将 zlib 和 zip 附加组件中的所有代码复制到您自己的代码中即可。

如果您无法使用他们的许可证,请获取规范并编写您自己的洁净室实现 - 但请确保您没有看到 zlib 或 zip 代码库。

另一种选择是捆绑一个免费的 zip 命令行客户端,并通过 system() 调用

编辑来调用它:如果您的意思是您已经在使用 zlib,则 minizip 执行目录操作 - 它通常包含在 contrib 目录中的 zlib 中

You want zip but you don't want to use any libraires?

Do you want to be bound by a particular licence - if so then simply copy all the code from zlib and the zip add-on into your own code.

If you can't use their licence then get the specs and write your own clean room implementation - make sure that you haven't seen the zlib or zip code base though.

The other alternative is to bundle a freely available zip command line client and call it with a system() call

edit: if you mean you are already using zlib then minizip does the directory stuff - it's usually included with zlib in the contrib directory

复古式 2024-11-10 13:51:42

您可以使用包含压缩功能的 boost iostream。请查看此处的文档: http://www .boost.org/doc/libs/1_46_1/libs/iostreams/doc/index.html

看来实际上在这种情况下这不适用于文件目录。

You can use boost iostream which includes compression functionalities. Have a look at the documentation here: http://www.boost.org/doc/libs/1_46_1/libs/iostreams/doc/index.html

It seems that in fact in this case that won't work for a directory of files.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文