我正在创建一个C ++程序,它将读取.docx的纯文本。我的攻击计划是将.docx重命名为.zip,然后解压缩。然后,我将包含文档文本的.xml文件重命名为.txt并解析出来。
现在我已经想出了重命名这很容易。我现在正在努力解压缩。我非常精通C ++,但这是我第一次将自己扩展到真正的单词应用程序并在STL库之外使用它。
起初我从zlib库尝试了许多C ++包装器,但是无法使它们中的任何一个编译或正常工作(这可能是由于环境在Cygwin中)。出于这个原因,似乎我必须默认使用凌乱的zlib代码来执行此操作。但是从我发现的所有文档和示例中,它只显示zlib用于读取.zip,它是一个文件的压缩而不是多个文件。我现在不知道从哪里开始,就像我之前说过的那样,对STL以外的领域完全陌生,我感到很失落。
非常感谢任何帮助或指导!
谢谢, 迈克尔
答案 0 :(得分:1)
zlib用于GZip压缩,而不是ZIP压缩(see here for details)。
因此,您可能最好使用Cygwin中提供的unzip
实用程序,并可用于lots of platforms。
答案 1 :(得分:1)
我不认为zlib直接支持多文件拉链(可能是错误的),所以你可能想要寻找替代方案。另外,您可能还需要考虑从cygwin切换到MinGW,除非您确实需要cygwin提供的POSIX / UNIX兼容性。
答案 2 :(得分:1)