从.txt文件读取数据并保存到向量 这是一个非常简单的问题:如何用C++读取.txt文件并保存到向量?我有9个数据存储在一个由tab分隔的txt文件中,我想将其保存到三个不同的向量中(我使用的是Eigen库)。 这9个数据如下: -468.01 198.74 -123.9 -471.67 195.41 46.878 -471.39 111.84 45.518

从.txt文件读取数据并保存到向量 这是一个非常简单的问题:如何用C++读取.txt文件并保存到向量?我有9个数据存储在一个由tab分隔的txt文件中,我想将其保存到三个不同的向量中(我使用的是Eigen库)。 这9个数据如下: -468.01 198.74 -123.9 -471.67 195.41 46.878 -471.39 111.84 45.518,c++,C++,有人能帮我吗? 提前谢谢 假设您想将它们存储到一个双精度向量中,并且您有一个ifstream对象,最简单的方法是: std::ifstream ifs( "data.txt" ); std::vector< double > values; double val; while( ifs >> val ) values.push_back( val ); std::ifstream-ifs(“data.txt”); 标准::向量值; 双val; while(ifs

有人能帮我吗?
提前谢谢

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

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

std::vector< double > values;
double val;
while( ifs >> val )
   values.push_back( val );
std::ifstream-ifs(“data.txt”);
标准::向量值;
双val;
while(ifs>>val)
值。推回(val);
使用istream_迭代器还有一种替代方法:

std::copy( std::istream_iterator<double>(ifs), std::istream_iterator<double>(),
          std::back_inserter( values ) );
std::copy(std::istream\u迭代器(ifs),std::istream\u迭代器(),
std::back_插入器(值));
这将保存到单个向量中(不是3)。标题是“保存为向量”,问题的文本要求您保存为3个向量。很难知道如何将数据格式化为3个向量

当然,您可以将它们从文件读入单个向量,并使用一个包装器类,使一个向量显示为3个子范围


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

您尝试了哪些不起作用的内容?我使用的是infle.open()函数,但我不知道如何说“跳过选项卡并获取下一个值”。使用eigen可以简单地传递返回值,如:vector(0)=acquired value。流式处理跳过空白,即使用>>写入双精度值。我还向您展示了将填充std::vector的读取方法。这是你的工作,它如何适合你的特征向量库。@现金牛,你能告诉我如何将其扩展到矩阵中读取吗?谢谢:)!