c++ - 在 C++ 中使用 ofstream 打开现有的 .doc 文件

标签 c++ file binary doc ofstream

假设我在 Windows 平台上有一个扩展名为 .doc 的文件,我如何使用 C++ 中的 ofstream 对象打开该文件以将其内容输出到屏幕上?我知道该对象可用于以文本和二进制模式打开文件。但我想知道是否可以打开 .doc(甚至 .pdf)文件并读取其内容。

最佳答案

我以前从来没有真正做过这个,但是在阅读了它之后,我想我可能有一个建议。 .docx 格式实际上只是压缩后的 XML。解压后文件位于word/document.xml。在程序中执行此操作很有趣。

两个选项:如果您使用的是 C++ CLR (.NET),则 Microsoft has an SDK for you .它应该使打开 Office 文档变得非常容易。

否则,如果您只是使用常规 C++,则可能需要做一些额外的工作。

  1. 打开文件并使用类似zlib 的库将其解压缩
  2. 找到里面的document.xml文件
  3. 解析 XML 文档。您可能希望为此使用某种 XML 解析库。您必须查找 XML 的规范才能弄清楚如何获取所需的文本。

关于c++ - 在 C++ 中使用 ofstream 打开现有的 .doc 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13432633/

相关文章:

c++ - 将文本打印到 Windows 输入文本框中

android - 如何使用/合并 CPP 文件到 Android 项目?

java - 序列化对象文件输出为空

php - 文件上传成功,但找不到该文件

MySQL 二进制字符串和字符集

c++ - 当使用 std::vector 的 emplace_back 或 push_back 创建时,在从仅 move 类型派生的类中定义析构函数会产生编译时错误

python - 格式化要写入的文件

java - 检查一个字符是整数还是字母

java - 我如何在java中读取二进制数据文件

c++ - 为什么这段 C++ 代码会打印出不应该打印的变量?