从.txt文件中读取数据并保存到矢量

tia*_*c88 -1 c++

这是一个非常简单的问题:如何读取.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 
Run Code Online (Sandbox Code Playgroud)

有人可以帮帮我吗?提前致谢!

Cas*_*Cow 5

假设你想将它们存储到双精度矢量中,并且你有一个ifstream对象,最简单的方法是:

std::ifstream ifs( "data.txt" );

std::vector< double > values;
double val;
while( ifs >> val )
   values.push_back( val );
Run Code Online (Sandbox Code Playgroud)

有一个使用istream_iterator的替代方法:

std::copy( std::istream_iterator<double>(ifs), std::istream_iterator<double>(),
          std::back_inserter( values ) );
Run Code Online (Sandbox Code Playgroud)

这将保存到单个矢量(而不是3).标题说保存到矢量中,问题的文本要求您保存到3个矢量中.很难知道如何将数据格式化为3个向量.

当然,您可以将它们从文件中读取到单个向量中,并具有一个包装类,使一个向量显示为3个子范围.

我已经给你了基础知识,请自己尝试其余的编码.