gpt4 book ai didi

c++ - 如何将文件读取为 vector>?

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:21:39 26 4
gpt4 key购买 nike

我有这样的数据

4.0 0.8
4.1 0.7
4.4 1.1
3.9 1.2
4.0 1.0

我已经写好了我的程序

#include <string>
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;

int main() {
vector<double> v;
ifstream in("primer.dat");
double word;
while(in >> word)
v.push_back(word);
for(int i = 0; i < v.size(); i++)
cout << v[i] << endl;
}

但现在我已经意识到,为了在我的代码中进行进一步计算,我需要数据作为 ( vector <vector> double) 。我不想 reshape vector 。是否可以将数据读取为 vector 的 vector ?

最佳答案

尝试以下操作

#include <iostream>
#include <fstream>
#include <vector>
#include <iterator>
#include <sstream>
#include <string>

int main()
{
std::vector<std::vector<double>> v;
std::ifstream in( "primer.dat" );
std::string record;

while ( std::getline( in, record ) )
{
std::istringstream is( record );
std::vector<double> row( ( std::istream_iterator<double>( is ) ),
std::istream_iterator<double>() );
v.push_back( row );
}

for ( const auto &row : v )
{
for ( double x : row ) std::cout << x << ' ';
std::cout << std::endl;
}
}

关于c++ - 如何将文件读取为 vector<vector<double>>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32176699/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com