ahora me interesaria poner las palabras en la lista seguida de la categoria a la que corresponden. Por ejemplo : en la lista tendriamos "argentina" y al lado la categoria a la que corresponde que en este caso seria "paises".
En ese caso lo primero que debes hacer es declarar la estructura o tipo de dato para manejar el par palabra, categoría como una unidad, la forma mas sencilla (pero no la mejor) es indicando directamente la categoría de cada palabra:
struct Registro {
string palabra;
string categoria;
};
A continuación declaras un vector para almacenar cada uno de los registros:
vector<Registro> reg; // Cada uno de los registros (par palabra, categoria)
Las operaciones de lectura y escritura son similares al ejemplo anterior, cada registro se escribe/lee como un par de lineas. El orden no importa, puedes imprimir primero la palabra y después la categoría (o al revés) pero debes ser consistente: el orden que se utilice para la lectura debe ser el mismo utilizado en la escritura.
Por ejemplo la lectura de los datos seria mas o menos así:
ifstream in("Nombre_del_archivo");
vector<Registro> reg;
if (in.fail()){
// Manejo de error
}else {
Registro aux;
while (getline(in, aux.palabra) && getline(in, aux.categoria))
reg.push_back(aux);
in.close();
}
Un saludo