假设我在Windows平台上有一个扩展名为.doc的文件,如何使用C ++中的ofstream对象打开文件以在屏幕上输出其内容?我知道该对象可用于以文本和二进制模式打开文件。但我想知道是否可以打开.doc(甚至.pdf)文件并读取其内容。
答案 0 :(得分:1)
C ++ std库有ifstream
类,可用于读取简单文本文件和读取二进制文件。
由您来解释文件中的这些字节。要正确解释二进制文件,您需要知道文件的格式。
如果您想到MS Word文件,那么我将从这里开始:http://en.wikipedia.org/wiki/Office_Open_XML以了解MS Word 2007格式。
如果你想自己做一些过滤,你可能会发现Boost Iostreams库(http://www.boost.org/doc/libs/1_52_0/libs/iostreams/doc/home.html)有些用处。
答案 1 :(得分:1)
我以前从未真正这样做过,但在阅读之后,我想我可能会有一个建议。 .docx格式实际上只是压缩的XML。解压缩后,该文件位于word / document.xml。在程序中执行此操作可以获得乐趣。
两个选项:如果您正在使用C ++ CLR(.NET),那么Microsoft has an SDK for you。它应该可以很容易地打开Office文档。
否则,如果您只是使用常规C ++,则可能需要做一些额外的工作。