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

c++ 读取资料中的指定行

2013-09-05 
c++ 读取文件中的指定行文件中都是正整数,共20万行,1235列,131G都是0-255之间的整数。我每次想提取某一行在

c++ 读取文件中的指定行
文件中都是正整数,共20万行,1235列,131G
都是0-255之间的整数。
我每次想提取某一行
在网上都是把文件全部读进内存后再取某一行,但是不适用于这种大数据的情况。
不知道大家有没有什么好方法呢?请帮助,谢谢!!! c++ 大数据 内存
[解决办法]

引用:
Quote: 引用:

Quote: 引用:

Quote: 引用:

Quote: 引用:

每行的字节数固定么?
如果是的,那么可以试试seek

+1
如果每行数字不对齐,或者说每行的长度不一致,只能从头一行行读,自己计数。


嗯,我想过这个方法,但是数据量太大了,131G,我每行都要处理,那么处理到最后一行的时候还是相当与把所有数据都读进去了,肯定是不行的~~~~

顺序读一次,写成二进制格式,接下来随机读写就如意了。


您是说把0-255存成01000。。的形式吗?这样得到每行固定的字节数?


二进制存储不是存储成01000的样子,那还是文本文件。是存储成像exe文件那样的16进制的数字,不能用文本文件打开,通俗的说,文本方式存储的是可见的字符,二进制存储的是00 01 FF这样的机器码。
65这个整数,文本方式存,看到65两个数字,二进制方式存,看到1个字母'A'
你这个例子很简单,都是0-255的数字,只要用unsigned char来表示1个数字就行了。只要每行数据个数相同,就可以随机读写。

热点排行