有没有办法使用fstream将csv文件读入自定义类的对象数组中?

时间:2019-04-21 02:47:12

标签: c++ class ifstream

我正在尝试将csv文件中的数据提取到我构建的类中。但是,当尝试查找文件时,却将我的数组留空了。

CSV的格式如下 [string] [float] [float] [float]

ex) 弗兰克·托马斯(Frank Thomas),. 353,.625,.700

Coder Man,.200,.350,.400

.h文件中的对象类

class Batter{
    private:
        string name;
        float stat1, stat2, stat3;

    public:
        void set_values(string, float, float, float);

        float getStat1();
};

//设置并获取以下功能

然后在我的.cpp文件中尝试填充这些文件

//全局变量

const int MAX_SIZE = 100;
Batter hBatters[9], aBatters[9];

.....

/ 函数可将击球手及其状态从csv读取并放入 各个团队的全局Batter类数组 /

void createBatters(string file, int team){

int index=0;
string name, throwaway;
float stat, stat2, stat3;
ifstream infile;

infile.open(file, ios::in);

if(infile.fail()){
    cout<<"File for team " << team <<" batters was not found."<<endl;
    system("PAUSE");
    exit(1);
}

getline(infile, throwaway);

while(index < 9 && infile >> name >> stat >> stat2 >> stat3){
    if(team == 1)        
        hBatters[index].set_values(name, stat, stat2, stat3);
    else
        aBatters[index].set_values(name, stat, stat2, stat3);

    cout<<index<<endl;        
    index++;
}

cout<< "Number of batters read: " << index << endl;

我希望能够将它们读入数组,以便最终可以模拟具有各种统计信息的棒球比赛。

0 个答案:

没有答案