Hola! Tengo un problema, he hecho un programa para que lea de un archivo de texto, el archivo de texto tendra dentro lineas que seran usuario, salto de linea, y luego contraseña, y asi todo el rato.
El problema viene que ahora quiero que sea posible modificar la contraseña de un usuario en concreto, es decir que busque al usuario en la lista, y si esta en la posicion 3 pues que la siguiente linea que corresponderia con su contraseña se borraria y meteria yo lo que quisiera , me han dicho de usar tellg y seekp, pero
Código:
do{
fstream archivo;
archivo.open ("registro.txt", ios::out | ios::app);
system("CLS");
cout << "Bienvenido al menu del administrador" << endl;
cout << "Que desea hacer?" << endl;
cout << "1. Ver registros" << endl;
cout << "2. Modificar contraseña" << endl;
cout << "0. Salir" << endl;
cin >> opcion;
switch (opcion)
{
case '2':
cout << "Por favor, introduce el apodo al que quieres cambiar la contraseña:";
getline(cin,apodo);
getline (archivo, usuario); // variables de fstream declaradas anteriormente
getline (archivo, contrase?a);
while ( !archivo.fail() )
{
if(apodo == usuario)
{
encontrado = true;
// aqui habria que poner algo para que recordara la posicion?
}
getline(archivo, usuario);
getline(archivo, contrase?a);
}//busqueda en la lista del apodo para comprobar que exista
if (!encontrado)
{
cout << "no existe ese apodo" << endl;
}
else
{
cout << "introduce nueva contraseña " << endl;
getline( cin, nuevacontraseña);
// como se hara aqui para escribir la nueva contraseña? es donde tengo el problema
}
break;
}
}while(!salir);
archivo.close();
La parte de comprobar si existe archivo etc etc las he quitado para poner el codigo que me interesa