void ListaS::crearListaAleatoria(){
ifstream infile;
ifstream xfile;
infile.open("datosPrueba.txt");
xfile.open("datosPruebaNombres.txt");
int id;
char nombre[100];
int counter = 0;
//En caso de error
if (infile.fail()){
cout << "Error opening file" <<endl;
exit(1);
} if (xfile.fail()){
cout << "Error opening file" <<endl;
exit(1);
}
while(infile.eof() && xfile.eof()){
Persona* p = new Persona();
infile >> id;
xfile >> nombre;
p->setId(id);
p->setNombre(nombre);
agregar(p);
}
}
所以我试图用两个文本文件构建一个链表,一个有数字,另一个有名字,但是,每当我尝试打印这个列表的内容时,通过我在其他地方的另一种方法,它告诉我我' m 试图访问空值。对象Persona*
是我存储 id 和名称的地方,而agregar()
创建节点以添加到在其他地方创建的列表中。这些东西并没有引起问题,主要是这两个值。我不认为有某种方法可以将 infile >> id 转换为 int?在那儿?