我想使用一个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);
}
}
}
但是第二个似乎不起作用,我该如何解决?