社区
C语言
帖子详情
急急急!!超大文件操作问题
r11222
2010-03-24 04:08:11
现在要做一个文本编辑器
要适用与超大文件(2~4G)
我用createFileMapping 打开文件
我应该直接在createfilemapping 返回的 内存区编辑文件(实际应该在硬盘),还是应该把我要编辑的其中一部分 memcpy 到真正的内存??(考虑最高效)
另外,我要在这个文件中删去一行,或者添加一行,有什么超高效的办法??(用数据结构的知识) 有需要建立一个行列表吗?
我不是懒得想来问的,我想追求最高效的方法,谢谢各位!
...全文
186
12
打赏
收藏
急急急!!超大文件操作问题
现在要做一个文本编辑器 要适用与超大文件(2~4G) 我用createFileMapping 打开文件 我应该直接在createfilemapping 返回的 内存区编辑文件(实际应该在硬盘),还是应该把我要编辑的其中一部分 memcpy 到真正的内存??(考虑最高效) 另外,我要在这个文件中删去一行,或者添加一行,有什么超高效的办法??(用数据结构的知识) 有需要建立一个行列表吗? 我不是懒得想来问的,我想追求最高效的方法,谢谢各位!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
赵4老师
2010-03-25
打赏
举报
回复
不知参考Notepad++的源代码有没有用。
纠结的程序猿
2010-03-25
打赏
举报
回复
这件事情不容易做。如果你不是很牛的话,建议你还是不要做了。
1。确实需要一个数据结构来记录你删除的部分
2。确实需要一个数据结构来记录行列表。
你可以参考B树,但是仅仅用B树不能完全解决问题。
r11222
2010-03-24
打赏
举报
回复
[Quote=引用 8 楼 cakes 的回复:]
1g以内的话可以考虑用文件映射
[/Quote]
答非所问。。郁闷。。。。
hshdld
2010-03-24
打赏
举报
回复
[Quote=引用 8 楼 cakes 的回复:]
1g以内的话可以考虑用文件映射
[/Quote]
同意
cakes
2010-03-24
打赏
举报
回复
1g以内的话可以考虑用文件映射
r11222
2010-03-24
打赏
举报
回复
createfilemapping 后 还需要把其中一部分用memcpy 读入真正内存进行编辑吗?还是直接用 createfilemapping返回的文件指针编辑文件?
r11222
2010-03-24
打赏
举报
回复
顶,再求解答
pengxn
2010-03-24
打赏
举报
回复
注意很多操作文件的函数,输入的偏移量都是INT型的,不要越界
ForestDB
2010-03-24
打赏
举报
回复
加一层buffer,buffer以有效的数据结构组织之。
r11222
2010-03-24
打赏
举报
回复
爆顶。。。。。
。。。
。。。
r11222
2010-03-24
打赏
举报
回复
能说一说当时你是用什么策略去管理大文件吗??
其实我对createfilemapping 不是很了解
我现在的想法是,createfilemapping (文件2G,能成功吗?) ,然后 编辑哪一部分,就将那一部分memcpy到真正内存进行编辑(这样会多余吗?)
还有,在大文件中删除一行有什么好的策略???
高效高效高效
james_hw
2010-03-24
打赏
举报
回复
拆分成多个小文件管理。这是我工作中最终使用的方法。大文件实在很难管理,特别是修改。
java 缓冲区怎么理解_JAVA中的缓存是怎么一回事??帮忙解释下。
急
急
急
!!!!!!谢谢...
急
急
急
!!!!!!谢谢mip版关注:133答案:5悬赏:80解决时间 2021-01-24 22:17已解决2021-01-24 18:44JAVA中的缓存是怎么一回事??帮忙解释下。
急
急
急
!!!!!!谢谢最佳答案2021-01-24 19:09(1)Hibernate有两个...
如何修改!!!
急
急
急
!!!!!!
文件
使用不了!!!!!!!!
printf(“请选择一种你想要执行的
操作
:\n”); do { scanf("%d", &j); switch (j) { case 1:InsertList(); break; case 2:DeleteList(); break; case 3:changeList(); break; case 4:; sort_num(); break; ...
e盘计算机管理无法格式化,D,E,F盘无法格式化.
急
急
急
!
急
急
急
!今天用重新装了系统,但是D,E,F盘无法格式化,双击打不开这些盘,右击打开后显示无
文件
(包括隐形
文件
),但是属性里面显示都占有一定的空间,例如D盘就有64M的空间被占用,后面到DOS里面DIR显示有十多个
文件
,但是...
(关于java的)myeclipse中properties
文件
的创建,
急
急
急
!
(关于java的)myeclipse中properties
文件
的创建,
急
急
急
! 2008-10-06 14:30baomeigui | 分类:JAVA相关 | 浏览9482次 myeclipse中properties
文件
怎么创建(详细步骤),他跟xml
文件
到底有什么区别和联系...
后缀名.java用什么打开_[求助]
文件
操作
如何打开指定后缀名的
文件
???
急
急
急
!!!...
我写了一个,但是默认的是打开所有的
文件
类型,请教在哪里加一句什么代码可以使打开的
文件
类型为事先设置好的,比如.txt的
文件
???代码如下:voidopenFile(StringfileName){try{Filefile=newFile(f...
C语言
69,371
社区成员
243,080
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章