Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Duda con una función para Ficheros (rename)

Estas en el tema de Duda con una función para Ficheros (rename) en el foro de C/C++ en Foros del Web. Hola tengo que hacer una practica y me han pedido que dado un fichero llamado registro.txt terminado con XXX como bandera con una serie de ...
  #1 (permalink)  
Antiguo 16/11/2012, 08:46
 
Fecha de Ingreso: octubre-2012
Mensajes: 14
Antigüedad: 12 años, 2 meses
Puntos: 0
Mensaje Duda con una función para Ficheros (rename)

Hola tengo que hacer una practica y me han pedido que dado un fichero llamado registro.txt terminado con XXX como bandera con una serie de apodos de jugadores pues pueda incluir uno mas sin que lo demás se borre porque no te dejan usar arrays ni cosas avanzadas solo funciones,entonces se necesita una copia auxiliar de un archivo externo(en el que se almacenará el nuevo jugador y copiará todo lo que está en el otro archivo registro.txt) y que una vez copiado todo ese archivo auxiliar se actualice con el nombre de registro.txt y pase a ser el principal para seguir añadiendo jugadores.

y mi codigo no se en que falla pero no se actualiza el auxiliar al nuevo nombre registro...

void funFicheros(string n)//--------------------------------------------------------------------------
{
ifstream lectura;
ofstream escritura;
string m;
bool repetido=false,salir=false;

lectura.open("registro.txt");
escritura.open("auxiliar.txt");


while(salir==false)
{
lectura>>m;

if(m==n)
{
repetido=true;
escritura<<m;
escritura<<endl;
}
else if(m!=n)
{
if(m=="XXX")
{
if(repetido==false)//si el apodo metido no estaba ya en fichero lo incluye y seguidamente la bandera XXX
{
m=n;
escritura<<m;
escritura<<endl;
escritura<<"XXX";
salir=true;
}
else
{
escritura<<m;
salir=true;
}
}
else
{
escritura<<m;
escritura<<endl;
}
}

}

lectura.close();
escritura.close();

rename("auxiliar.txt","registro.txt");//no lo hace...

}

Graciassss
  #2 (permalink)  
Antiguo 16/11/2012, 09:19
 
Fecha de Ingreso: octubre-2012
Mensajes: 14
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: Duda con una función para Ficheros (rename)

vale ya no me ayudeis ya lo he descubierto para quien le sirva en el futuro es al final:

remove("registro.txt");
rename("auxiliar.txt","registro.txt");

me faltaba eliminar el archivo original si no no se renombraba porque ya había uno creado con ese nombre.

Etiquetas: ficheros, funcion, string
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:58.