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

reading data from a .txt file and saving to a vector

本文关键字:保存 数据 txt 文件 读取      更新时间:2023-10-16

这是一个非常简单的问题:如何使用c++读取.txt文件并保存到向量?我有9个数据存储在一个用tab分隔的txt文件中,我想把它保存到三个不同的Vector中(我使用的是Eigen库)。这9个数据是:

-468.01    198.74  -123.9  -471.67 195.41  46.878  -471.39 111.84  45.518 

有人能帮我吗?提前感谢!

假设您想将它们存储到一个doubles向量中,并且您有一个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个子范围。

我已经给你介绍了基本知识,请你自己尝试其余的编码。