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(&#34;BORRAR.txt&#34;, 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

[0] Índice de Mensajes

Ir a la versión completa