在C ++中解压缩目录

时间:2009-08-04 13:30:18

标签: c++ zip zlib unzip docx

我正在创建一个C ++程序,它将读取.docx的纯文本。我的攻击计划是将.docx重命名为.zip,然后解压缩。然后,我将包含文档文本的.xml文件重命名为.txt并解析出来。

现在我已经想出了重命名这很容易。我现在正在努力解压缩。我非常精通C ++,但这是我第一次将自己扩展到真正的单词应用程序并在STL库之外使用它。

起初我从zlib库尝试了许多C ++包装器,但是无法使它们中的任何一个编译或正常工作(这可能是由于环境在Cygwin中)。出于这个原因,似乎我必须默认使用凌乱的zlib代码来执行此操作。但是从我发现的所有文档和示例中,它只显示zlib用于读取.zip,它是一个文件的压缩而不是多个文件。我现在不知道从哪里开始,就像我之前说过的那样,对STL以外的领域完全陌生,我感到很失落。

非常感谢任何帮助或指导!

谢谢, 迈克尔

3 个答案:

答案 0 :(得分:1)

zlib用于GZip压缩,而不是ZIP压缩(see here for details)。

因此,您可能最好使用Cygwin中提供的unzip实用程序,并可用于lots of platforms

答案 1 :(得分:1)

我不认为zlib直接支持多文件拉链(可能是错误的),所以你可能想要寻找替代方案。另外,您可能还需要考虑从cygwin切换到MinGW,除非您确实需要cygwin提供的POSIX / UNIX兼容性。

答案 2 :(得分:1)

我一直在处理类似的问题,但还没有真正的解决方案。

zlib目前不支持多个文件。

请参阅:C/C++ Packing and Compression

相关问题