用C语言读取大文件的问题

bartonhong 2007-07-02 02:32:20
最近打算用C写个程序,处理数据。每个数据文件1.6个G,文件集总大小在90G。
小弟以前没有编过读取这种大程序的程序,没有什么思路,请各位高人知道一下,谢谢了先。
...全文
4966 72 打赏 收藏 转发到动态 举报
写回复
用AI写文章
72 条回复
切换为时间正序
请发表友善的回复…
发表回复
Qlaiaqu 2009-02-18
  • 打赏
  • 举报
回复
牛坑啊,前来沾点牛气
lomyself 2009-02-18
  • 打赏
  • 举报
回复
好多记号党~~
lbaby 2008-02-16
  • 打赏
  • 举报
回复
楼上的兄弟们已经说过 了,mmap,如果你不在windows下,会变得N简单的
nwpulei 2008-02-15
  • 打赏
  • 举报
回复
MARK
dongzijian 2008-02-15
  • 打赏
  • 举报
回复
mark
hanb99 2008-02-15
  • 打赏
  • 举报
回复
mark
liuy21 2008-02-15
  • 打赏
  • 举报
回复
做个记号~
bird1982 2008-02-14
  • 打赏
  • 举报
回复
晕,这么老的帖子也被顶上来了啊~~~很明显,制作一个索引的好处要大得多,根据数据格式,找出合适的关键字建立索引,如果一级不行,可以建立2级,3级索引,一般3级左右就可以很多问题了
Seanxiaoxiao 2008-02-13
  • 打赏
  • 举报
回复
马克
arong1234 2008-02-13
  • 打赏
  • 举报
回复
数据赶快转换一下格式,这么多数据还用文本格式,这是自寻死路,转换成二维数据表,导入数据库,然后用数据库的index/search技术做,要比你的高级很多
arong1234 2008-02-13
  • 打赏
  • 举报
回复
从14楼看,你还是用数据库吧,即使是高手也不如人家数据库,更何况你还是菜鸟
arong1234 2008-02-13
  • 打赏
  • 举报
回复
大文件显然不能都读入内存
根据实际需要分段处理才是正宗方法
不是所有应用都需要把整个文件全读进来再处理的
tzwsoho 2008-02-13
  • 打赏
  • 举报
回复
好帖,mark一下^^^^^
AgedBOY 2007-07-07
  • 打赏
  • 举报
回复
好吧,既然至少有两位高手都告诉我内存映射比seek快,那我就好好看一下《windows高级编程》。

不过我还是非常怀疑,因为我以前一直以为(至少Windows的)内存映射,不过是建立的基本文件操作API基础上的,高级一些的API而已。现在看来不是这样?呵呵。

不过,除非文件映射是操作系统使用了硬件(如硬盘控制器等等)的某种功能来实现的,否则从理论上它无可能比基本文件操作API更快,即使对于一项技术我没有看过源码,我从不相信神话。

不过我还是先看看《windows高级编程》再来这里放厥词。兄弟们海涵了!
Inhibitory 2007-07-04
  • 打赏
  • 举报
回复
但如果是linix下,也是用内存映射机制吗?还是内存映射机制是windows特有的.
kpman 2007-07-04
  • 打赏
  • 举报
回复
不用想得这样复杂 用fopen 再用fget读取就行了。
charleswu82 2007-07-04
  • 打赏
  • 举报
回复
mark 解决了我一个大问题
hwkobeliulili 2007-07-04
  • 打赏
  • 举报
回复
晕!太强了!
qdhuxp 2007-07-04
  • 打赏
  • 举报
回复
mark
bartonhong 2007-07-04
  • 打赏
  • 举报
回复
索引文件倒是个新建议,不知道具体怎么索引
-------------
按照查找的关键字,行偏移,建立索引,排序。
-------------
这个……搜索的关键字是不固定的,所有单项数据都有可能成为关键字,且可能同时有多项关键字要符合,还能做索引吗?
加载更多回复(51)

70,037

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧