Programación General > C++ Builder
Borrar Contenido De Archivo
(1/1)
saulillo:
Hola, he estado buscando y no he encontrado solucion a mi problema.
En mi programa tengo un archivo declarado como fstream y en un momento de la ejecucion necesito borrar todo lo q tiene. Borrar el archivo no, sino todo su contenido.
Habia pensado poner algo asi como
--- Código: Text --- char dato;AnsiString dato1="";f1.seekg(0);dato = f1.get(); while(!f1.eof()){ f1<<dato1; dato = f1.get();}
Pero me dice q no se puede usar << en fstream con AnsiString.
el_shanky:
La forma correcta (a mi aprecer) no es insertarle un valor nulo como es el caracter "" (nada) al archivo para sobreescribirlo, mas bien lo podes limpiar con el modo ios::trunc al momento de abrirlo
--- Código: Text --- fstream archivo;archivo.open("BORRAR.txt", ios::out | ios::trunc);//donde out abre al archivo como de salida y trunc lo limpiaarchivo.close();
*Auqnue me aprece que si lo abris con la bandera ios::out no ahce falta ponerle el trunc x que lo limpia x defecto.
Ahora si lo queres limpiar en la mitad d un proceso no creo que lo que estes haciendo ste muy bien ya que nunca vas a llegar al eof() si le seguis metiendo "" y vas a tener un archivo de texto zarpado en caracteres nulos que va a parecer "vacio" pero no lo está!
Se me ocurre que lo mejor es cerrarlo y abrirlo como te dije... :S
Spero que te sirva! exitos Si encontras otra menara poasteala! exitos!
saulillo:
--- Cita de: "el_shanky" ---Ahora si lo queres limpiar en la mitad d un proceso no creo que lo que estes haciendo ste muy bien ya que nunca vas a llegar al eof() si le seguis metiendo "" y vas a tener un archivo de texto zarpado en caracteres nulos que va a parecer "vacio" pero no lo está!
--- Fin de la cita ---
Suponia que esa manera me iba a dar problemas, pero tenia que probar cosas.
He estado dandole vueltas y no he encontrado otra manera de hacerlo. Y tenias razón, no hace falta ponerle el trunc.
Muchas gracias por la ayuda.
pedrow:
Como se digo, solamente con ios|out, se borra por defecto cuando escribes el contenido que desees¡
Eternal Idol:
--- Cita de: "pedrow" ---Como se digo, solamente con ios|out, se borra por defecto cuando escribes el contenido que desees¡
--- Fin de la cita ---
NO HAGAS SPAM!
Navegación
Ir a la versión completa