-1

This is a very simple question: How can I read .txt file and save to a vector using c++? I've 9 data stored in a txt file separated by tab and I want to save this to three different Vector (I'm using Eigen library). the 9 data are this:

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

Someone can help me? Thanks in advance!

4

1 回答 1

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 个子范围。

我已经为您提供了基础知识,请您自己尝试其余的编码。

于 2012-12-03T15:43:45.007 回答