Hex编辑器如何快速显示数据?

时间:2010-04-25 14:02:30

标签: c++ winapi editor hex edit

我创建了类似记事本的应用程序,如果我将1MB文件加载到文本框中,则大约需要1分钟。 Visual Studio二进制编辑器在几分之一秒内显示行,Hex和ascii版本。他们如何如此快速地将数据导入文本框? 感谢

2 个答案:

答案 0 :(得分:9)

他们只读取足够的文件来显示屏幕上可见的内容。换句话说,如果您的UI一次只能显示100个字节,则只需要读取100个字节即可填满屏幕。如果用户滚动窗口,则必须读取其他字节以填充缺失的部分。

答案 1 :(得分:0)

我不是故意粗鲁。希望能帮助并澄清: 你在回复中提到阅读不是问题,win32的人是问题所在。但我真的很怀疑。

首先,与GUI相关的任何内容相比,光盘访问速度极慢。 即使你设置一个EDIT框来包含一些非常大量的文本,它基本上只是一个memcpy和一个重绘。

涉及一些处理。必须遍历该字符串才能找到换行符。如果你是自动换行,它必须继续添加下一个字母的宽度,直到超出允许的宽度。但与从光盘阅读相比,这两者都非常快。

那么你真的确定它是一个GUI速度问题而不是阅读问题吗?你能为两者提供时间吗?我发现很难相信GUI是这里的问题......