如何用C语言查找一个字符串在word中第几页第几行出现?word中是如何确定一个字符在哪一页哪一行的?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用C语言查找一个字符串在word中第几页第几行出现?word中是如何确定一个字符在哪一页哪一行的?相关的知识,希望对你有一定的参考价值。

如何用C语言查找一个字符串在word中第几页第几行出现?
word中是如何确定一个字符在哪一页哪一行的?

谢谢了

参考技术A DOC文件微软没有公布阿。可以看看OO的代码或者黑箱分析。不过工程量很大。
Win下倒是有接口,可惜不开源。

>我初学的...不理解楼上两位的意思,觉得C语言能否读取.doc文件是关键...
对,读取确实是个难题,用OO(openoffice)应该是可以的。
虽然很多介绍上有:
OpenOffice 公开了可编制脚本的接口,这使得它可以用 Java、C 、Python、OpenOffice.org Basic、Starscript、CORBA 或 OLE Automation 对文档内容进行编程。

但是实际上的相关DOC的处理还是很复杂的,
你的这个问题肯定能解决,但是一定是需要仔细研究一下OpenOffice的代码和实现,并且就我的理解,即使做出来,统计误差率应该在10%以上(可能会和直接字符串扫描的正确率相当)。

>如果可以读的话,可以对字符进行验证,如果是换行符'\n'就说明行数+1.
>加了一定的行数,就改页数+1了。我是这样想的
由于DOC未公开,所以谁都不知道他的换行是否以'\n'为判断,
也不知道其EOF等等到底是什么,
所以这个方法的可行性还是有待商榷的:)
参考技术B 我初学的...不理解楼上两位的意思,觉得C语言能否读取.doc文件是关键...
如果可以读的话,可以对字符进行验证,如果是换行符'\n'就说明行数+1.加了一定的行数,就改页数+1了。我是这样想的本回答被提问者采纳
参考技术C word...需要分析以下协议了

shell行编辑器ed:在倒数第几行插入

有时需要向一个文件的倒数第几行插入东西,或在前几行插入,不像直接追加那么简单。实际上,这是行编辑器的功能。

基于古老的行编辑器 ed命令:http://www.gnu.org/software/ed/manual/ed_manual.html

倒数第几行插入

比如在倒数第二行插入

# cat file 
line1
line2
line3
line4
line5
# ed -s file 
$-0i
new line
.
,p
line1
line2
line3
line4
new line
line5

上面的命令分为4部分:

  • $-0i: 从0开始是倒数第1行之前
  • 中间是内容,用 \\n 换行符分开
  • .: 点为结束
  • ,p: 打印出来

放在一行执行:

# printf '$-0i\\nnew line\\n.\\n,p\\n' | ed -s file
line1
line2
line3
line4
new line
line5

现在发现,其实文件并没被更新,要更新可以使用 ex命令,然后将指令换为 w

# printf '$-0i\\nnew line\\n.\\nw\\n' | ex -s file
# cat file 
line1
line2
line3
line4
new line
line5

在第几行插入

同样可以从前面开始,比如在第一行插入

# printf '1i\\nnew line\\n.\\n,p\\n' | ed -s file
new line
line1
line2
line3
line4
line5

以上是关于如何用C语言查找一个字符串在word中第几页第几行出现?word中是如何确定一个字符在哪一页哪一行的?的主要内容,如果未能解决你的问题,请参考以下文章

Java加密与安全

ASP.NET 中如何用C#语言代码实现分页功能

PDF/WORD/PPT/TXT电子书如何做标记?就是看到第几页标记下以后接着看?

linux怎么显示文件中第几行

layui中上一页,下一页,跳转到第几页,确定如何变为英文

layui中上一页,下一页,跳转到第几页,确定如何变为英文?