首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

文本编辑程序的思路和算法:怎么对应文件里的位置

2012-10-12 
文本编辑程序的思路和算法:如何对应文件里的位置我想试着编写一个文本编辑程序,但是并不仅仅是将窗口上的

文本编辑程序的思路和算法:如何对应文件里的位置
我想试着编写一个文本编辑程序,但是并不仅仅是将窗口上的内容简单修改后存储到文件。而是要在原有文件的基础上进行修改:
  比如打开一个html文件,然后以可视化的方式显示(而不是显示html源码),然后在上面添加、删除、修改模块,那么我如何把所做的修改应用于磁盘上的源文件呢?
  我要问的不是如何解析html,而是如何将窗口上的修改位置和文件里的位置相对应?难道是用搜索文件的内容来对应吗(比如我修改了一句话“钓鱼岛是中国的”,然后就要在文件里搜索“钓鱼岛是中国的”以确定修改位置吗?)?B+树?如果每次修改都要将全部文件更新一遍不现实吧!
  谢谢。

[解决办法]
将整个文件读入内存中/将内存中的全部数据写入整个文件
模块化的话,就把各模块分别保存为文件,修改哪个模块就读写哪个文件

[解决办法]
所谓修改删除文件a某位置的内容,其实是读打开文件a,再将‘a中修改删除位置之前的内容+修改删除的内容+a中修改删除位置之后的内容’保存到文件b,关闭文件a,删除文件a,将文件b改名为与之前文件a相同的名字,仅此而已。

[解决办法]
不知可否用 setFilePointerEx 调整文件指针位置 进行操作。

热点排行