para leer el archivo en C++, esta es mi forma favorita......
Código:
// estructura que contenga la cantidad de nombres por linea, si fueran mas, solo vas agregando
struct CNames
{
std::string a,b;
};
// sobrecargamos el operador >> para cortar un poco de codigo
istream& operator>>(istream& is, CNames& n) {
return is >> n.a >> n.b;
}
// metodo que lee el archivo
void ReaderFile(string strName )
{
// vector que contendra la lista de nombres
std::vector<CNames> vNames;
// abres el archivo y verificas si hay error
std::ifstream in(strName);
if( !in )
{ // error }
std::string line;
CNames name;
while( std::getline(in, line ) )
{
// checas si pudo leer los 2 nombres
if( std::stringstream(line) >> name)
{ // si es asi, los agregas a la lista
vNames.push_back(name);
}
}
in.close(); // cierras el archivo
// aqui los mande a imprimir para ver que si leyo todo
for( int i = 0; i < vNames.size(); i++ )
{
std::cout << vNames[i].a << endl;
std::cout << vNames[i].b << endl;
}
}
ya con eso tiene una lista con todos los nombres por separado, solo seria cuestion de que los guardes en un archivo, lo cual ya es una tarea muchisimo mas sencilla....
p.d: normalmente no hubiera puesto el codigo, pero esta forma me parece bastante sencilla y optima, y la quise compartir por si a alguien le gusta, ademas de que con minimas modificaciones puede adaptarse para archivos mas complejos, por ejemplo que contega en una linea (aleatoria) muchos numeros, en otra un string...etc....
saludos,