C++ getline 读10万行数据从文本到内存中 如何在10秒多可以完成?

一个文本数据 有10万行, 按getline读 内存中,如何速度最快!!!!!!!

一个思路是采用多线程。充分利用处理器的并行处理能力。
比如说有4行数据,线程1读取第一,二行,线程2读取第三,四行,以此类推。
总线程数可以设置为你电脑处理器的核数。
可以使用c++11的std::thread;编程较为方便。
当然前提是你得知道有多少行,而且每一行的数据规则,可以在每个线程中先计算出对应行的偏移量。追问

我给你截图:

是从文本中读取数据到  内存,把数据保存到 树里面,

文本中的结构:

能给个线程的例子吗,谢谢了,请致点一下,

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-06-28
为什么个getline呢, 不懂.
读就读呗, 先fseek到文件尾部, 再ftell获得文件尺寸
最后fread到足够大的内存中.
10万行, 也就是0.1M行, 一行算100个字符, 也就大概10M,
也就一张清晰点的图片大小, 一般PC环境下, 10s读入没问题追问

楼上我已经发 我写的代码了,和 文本中的内容,,
然后请加一下,按照我这种写法,该如何读入到内存再提取内存中相应的数据,放到树里面,
,谢谢,给个例子!

追答

保存到树里?
什么意思,要排序吗

相似回答