large text file viewer work怎么样?
我假设:
这些假设是否正确?如果有人要发展自己,有什么必须做的事情?
我希望使用DataGrid而不是TextBox
来实现一个我对C ++和python很满意。我可能会使用QT / PyQT
修改
我的文件通常在1.5到2 GB之间。我正在寻找编辑和查看这些文件
答案 0 :(得分:6)
我认为诀窍不是将整个文件加载到内存中,而是使用seek等来加载被查看的部分(可能使用前后块来处理一些滚动)。也许甚至使用内存映射缓冲区,虽然我没有使用它们的经验。
要意识到修改大文件(快速)与查看它不同。您可能需要将编辑周围的千兆字节数据复制到新文件中,这可能很慢。
答案 1 :(得分:4)
在Kernighan和Plaugher的经典(古董?)书“Pascal中的软件工具”中,他们介绍了ed(1)版本的开发和设计选择以及注释
“警告:
edit
很重要 计划(不包括来自translit
,find
和change
;在 950线,它大50% 比起本书中的其他内容。“
他们(字面意思)甚至没有字符串类型可供使用。由于他们注意到要编辑的文件可能存在于tape,它不支持中间的任意写入,因此他们必须在内存中保留行位置索引并使用临时文件来存储更改,删除和添加,在“保存”命令上将整体合并在一起。他们和你一样,担心内存限制了他们可编辑文件的大小。
此方法的一般结构保留在GNU ed project中,尤其是buffer.c