2011-03-24 50 views
0

我正在用C++编写一个搜索程序,它将在一组文件中搜索一组单词..这些文件是文本文件或docx文件。问题是我如何在C++中搜索docx文件,我不能甚至打开它,如果我需要将其转换为文本文件,程序是什么,我将如何搜索它?如何在C++中搜索docx文件中的单词?

+0

'.docx'是一种专有文件格式。我相信OpenOffice等程序在某种程度上已经对其进行了逆向设计。 – Maxpm 2011-03-24 21:44:41

+0

@Maxpm'.docx'文件只是以xml文件,png图像等形式重新命名为包含文档数据的zip存档,所以打开/读取它们相当容易,特别是如果您不需要“完整”实现读/写所有格式功能等。 – Mario 2011-03-24 21:50:15

+0

@Maxpm:实际上它是一个记录的标准,正如Jerry Coffin所解释的。 – 2011-03-24 22:17:43

回答

1

OOXML文件格式正式记录在ECMA-376。有一个等效的ISO标准(29500,如果内存服务),但我相信你必须支付才能得到它,并且两个是相同的。但是,作为警告,这些文件是巨大的文件,并且文件格式本身肯定不是无关紧要的。只是在原始文本是一个相对容易的任务,但仍然不是微不足道的。

ISO根据其“快速通道”计划接受了ECMA标准,即使在某些情况下它不完全遵循正常的ISO指导方针,它们仍接受现有标准。

+0

非常感谢你的答复。现在的问题是我有一个文本文件列出了驱动器d的内容,我想读取该文件,并且只需要数组中带有.txt扩展名的文件的名称。我怎样才能得到 ? – Mahee 2011-04-07 16:58:56

0

如果编写自己的OOXML解析器不是一个选项,那么可以使用docx2txt转换您的docx文件。

相关问题