Buenas tardes. Hago esta publicación para saber si alguien me ayuda a detectar un error de compilación. Mi programa debe recuperar datos de un archivo de texto usando delimitadores para almacenarlos en un objeto. Mi código es el siguiente.
/*arch es el archvio de texto, dat es el objeto donde se almacena la información,newnom,newtel y newcor son variables de tipo string*/
case 2:{
ifstream arch("agenda.txt",ios::in);
if(arch.fail()){
cout << "El archivo no existe o esta dañado" << endl;
}
else{
while(!arch.eof()){
arch.getline(newnom,'°');
arch.getline(newtel,'°');
arch.getline(newcor,'°');
dat->setNom(newnom);
dat->setTel(newtel);
dat->setCor(newcor);
cout << dat->getNom() << endl;
cout << dat->getTel() << endl;
cout << dat->getCor() << endl;
}
}
break;
}
El problema se encuentra en las líneas "arch.getline". Según codeblocks, se esperan tres parámetros en lugar de dos, pero según mi maestro, se necesita solo la variable string, y el delimitador como parámetro de la función. Estuve investigando sobre el tema y noté que algunas personas usan un numero como tercer, parámetro, pero no sé para que se utiliza. ¿Alguna idea de cuál pueda ser el error y cómo solucinarlo?.
/*arch es el archvio de texto, dat es el objeto donde se almacena la información,newnom,newtel y newcor son variables de tipo string*/
case 2:{
ifstream arch("agenda.txt",ios::in);
if(arch.fail()){
cout << "El archivo no existe o esta dañado" << endl;
}
else{
while(!arch.eof()){
arch.getline(newnom,'°');
arch.getline(newtel,'°');
arch.getline(newcor,'°');
dat->setNom(newnom);
dat->setTel(newtel);
dat->setCor(newcor);
cout << dat->getNom() << endl;
cout << dat->getTel() << endl;
cout << dat->getCor() << endl;
}
}
break;
}
El problema se encuentra en las líneas "arch.getline". Según codeblocks, se esperan tres parámetros en lugar de dos, pero según mi maestro, se necesita solo la variable string, y el delimitador como parámetro de la función. Estuve investigando sobre el tema y noté que algunas personas usan un numero como tercer, parámetro, pero no sé para que se utiliza. ¿Alguna idea de cuál pueda ser el error y cómo solucinarlo?.