如何正确应用此嵌套的ifstream?

时间:2019-04-25 23:44:16

标签: c++11 nested ifstream

我想使用一个ifstream函数,该函数在其中调用另一个ifstream函数,但是我不知道为什么它不起作用。如果先调用ifstream,则工作正常,但第二个则不能。这是第一个:

ifstream archivo("civilizaciones.txt");
if(archivo.is_open()){
    while(!archivo.eof()){
        string name;
        Civilizacion a;

        getline(archivo, name);

        if(archivo.eof()){ break; }
        a.setName(name);
        arreglo.push_back(a);
        c.recuperarAld(name);
    }
}

c.recuperarAld(name)在带有对象c的类中调用以下函数:

void Civilizacion::recuperarAld(string name)
{
    ifstream aldeanoss(name + ".txt");
    if(aldeanoss.is_open()){
        while(!aldeanoss.eof()){
            Aldeano a;
            string linea;

            getline(aldeanoss,linea);

            if(aldeanoss.eof()){break;}

            a.setNombre(linea);

            getline(aldeanoss, linea);
            a.setEdad(stoul(linea));

            getline(aldeanoss, linea);
            a.setGenero(linea);

            getline(aldeanoss, linea);
            a.setSalud(stoi(linea));

            aldeanos.push_back(a);
        }
    }
}

但是第二个似乎不起作用,我该如何解决?

0 个答案:

没有答案