首页 > 解决方案 > (c++11) 读取文件,同时将文件中的每个单词保存到给定的向量中

问题描述

因此,首先,下面这个函数的目标是读取文本文件 (TitanData.txt) 中的每一行。每行有 3 条信息:年龄、乘客等级和乘客是否幸存(保存为“TRUE”或“FALSE”)。我创建了 3 个向量:向量 Age、向量 PassengerClass、向量 Survived。问题似乎是 push_back 功能无法正常工作。我一直在寻找解决方案几个小时,但我还没有遇到一个,所以希望我能在这里得到答案。

功能如下:

void ReadFromFile(vector<int> Age, vector<string> PassengerClass, vector<bool> Survived)
{
    bool survived;
    int age;
    string Passenger_Class;

    string val1, val2, val3;
    ifstream infile;
    infile.open("TitanicData.txt");
    if (infile)
    {
        while (infile >> val1 >> val2 >> val3)
        {
            age = stoi(val1);
            Age.push_back(age);


            Passenger_Class = val2;
            PassengerClass.push_back(val2);


            if (val3 == "TRUE")
            {
                survived = true;
                Survived.push_back(true);
            }
            if (val3 == "FALSE")
            {
                survived = false;
                Survived.push_back(false);
            }
        }
        infile.close();
    }
}

标签: c++

解决方案


推荐阅读