这是一个非常简单的问题:如何读取.txt文件并使用c ++保存到矢量?我将9个数据存储在由tab分隔的txt文件中,我想将其保存到三个不同的Vector(我使用的是Eigen库)。 这9个数据是:
-468.01 198.74 -123.9 -471.67 195.41 46.878 -471.39 111.84 45.518
有人可以帮帮我吗?
提前谢谢!
答案 0 :(得分:5)
假设您想将它们存储到双精度矢量中,并且您有一个ifstream对象,最简单的方法是:
std::ifstream ifs( "data.txt" );
std::vector< double > values;
double val;
while( ifs >> val )
values.push_back( val );
有一个使用istream_iterator的替代方法:
std::copy( std::istream_iterator<double>(ifs), std::istream_iterator<double>(),
std::back_inserter( values ) );
这保存到单个矢量(不是3)。标题说保存到矢量中,问题的文本要求您保存到3个矢量中。很难知道如何将数据格式化为3个向量。
当然,您可以将它们从文件中读取到单个向量中,并且有一个包装类,使一个向量显示为3个子范围。
我已经为您提供了基础知识,请亲自尝试其余的编码。