这是一个非常简单的问题:如何读取.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)
有人可以帮帮我吗?提前致谢!
假设你想将它们存储到双精度矢量中,并且你有一个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个子范围.
我已经给你了基础知识,请自己尝试其余的编码.