gpt4 book ai didi

c++ how-to : import numeric variables from . txt 或 .csv 文件

转载 作者:行者123 更新时间:2023-11-30 02:53:46 25 4
gpt4 key购买 nike

作为 C++ 的初学者,我不知道如何使用 fstream。我想为程序中的一组 double 变量赋值,从.txt.csv 文件(出于实际原因,.csv 可能更好。)

假设我的 input_file.csv 看起来像这样:

10
0
20
0.4
0.1333382222
0
0.5
10
20
0.76
0.3
0.1
0.2

我的代码中应将这些值分配给以下变量(首先声明为等于 0 ):

/// geometry
double Dist=0; ///Distance between the 2

double PosAi = 0;
double PosAo = 0;
double PosBi = 0;
double PosBo = 0; ///positions i/o

/// densities

double iDA=0;
double oDA=0;
double iDAtop=0;
double oDAtop=0; /// Left

double iDB=0;
double oDB=0;
double iDBtop=0;
double oDBtop=0; /// Right

我想读取 input_file.csv 的值并将它们分配给我的变量,这样如果我键入:

cout<<Dist<<" "<<PosAi<<" "<<PosAo<<" "<<

......等等。 ;

我在控制台上得到以下列表:

10 0 20 0.4 0.1333382222 0 0.5 10 20 0.76 0.3 0.1 0.2

但是我不知道如何使用 fsteam,你能帮帮我吗?谢谢!


好的,如果像我这样的初学者遇到同样的问题,这里是答案:

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

/// geometry

double Dist=0; ///Distance between the 2
double PosAi = 0;
double PosAo = 0;
double PosBi = 0;
double PosBo = 0; ///positions i/o

/// densities

double iDA=0;
double oDA=0;
double iDAtop=0;
double oDAtop=0; /// Left
double iDB=0;
double oDB=0;
double iDBtop=0;
double oDBtop=0; /// Right

int main()
{
ifstream ifs ("input.csv");
if (!ifs)
// process error
ifs >> Dist;
ifs >> PosAi;
ifs >> PosAo;
ifs >> PosBi;
ifs >> PosBo;
ifs >> iDA;
ifs >> oDA;
ifs >> iDAtop;
ifs >> oDAtop;
ifs >> iDB;
ifs >> oDB;
ifs >> iDBtop;
ifs >> oDBtop;

// print variables

cout << Dist << " " << PosAi << " " << PosAo << " " << PosBi << " " << PosBo << " " << iDA << " " << oDA << " " << iDAtop << " " << oDAtop << " " << iDB << " " << oDB << " " << iDBtop << " " << oDBtop << endl;
}

谢谢

最佳答案

ifstream ifs ("input_file.txt");
if (!ifs)
// process error
ifs >> DISTAB;
ifs >> POSAstart;
....

关于c++ how-to : import numeric variables from . txt 或 .csv 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17656020/

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