请问将数据从.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());
最近正在编一套数据处理软件。源数据都是.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());