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

请问将数据从.txt读入动态数组的方法

2012-02-10 
请教将数据从.txt读入动态数组的方法最近正在编一套数据处理软件。源数据都是.txt文本文件。里面的数据都是

请教将数据从.txt读入动态数组的方法
最近正在编一套数据处理软件。源数据都是.txt文本文件。里面的数据都是带小数点的数字。事先不知道有多少个数据点,请问这种情况下如何读取。
本人曾尝试将数据一个一个的压入一个vector <double> 类型的变量tmp中,然后以tmp.size()的值为大小来创建动态数组。但是后来发现这样处理速度相当慢,只要数据文件稍微大一点,花费的时间及相当长。请高手指点,有没有什么好的方法?

[解决办法]
一个一个的压首先vector会不停的重分配空间.
其次.对于POD类型.SGI STL用的是memmove你这个的话.优势全无.

vector <double> vec(10000);//假设文件估计有十万个以下的数据.
copy(istream_iterator <double> (ifs),istream_iterator <double> (),vec.begin());

热点排行