【发布时间】:2011-05-27 06:35:15
【问题描述】:
我有从滚动输出中捕获文本的代码,我正在寻找一种算法(使用 C++/Qt)来告诉我哪些行是新的。 注意:新行只会添加到末尾。
所以在第一次捕获时,我可能有以下内容:
hello world
some more text
hello world
some text
在第二次捕获时可能有:
hello world
some text
yet more text
hello world
所以我希望算法返回我有两个新行:
yet more text
hello world
如果可能的话,如果它可以从最后一行开始并在到达已处理的行时终止,这将有助于提高性能。但我认为这可能是不可能的,因为可能有重复的行。
【问题讨论】:
-
你自己说的,可能有重复的行。事实上,所有行都可以相等,在这种情况下,如果输入任何新内容,您现在永远不可能。您可能最好尝试处理每个新行的添加。另外,如果您因为用户输入的内容超出缓冲区的大小而错过了行怎么办?
-
如何捕获这个滚动输出?我假设由于某种原因,您无法获得捕获的输出中的总行数。
-
我正在截屏并应用 OCR 转换回文本。我已将滚动区域设置得足够大,不会错过任何行。