• Viernes 8 de Noviembre de 2024, 04:48

Autor Tema:  Borrar Contenido De Archivo  (Leído 6513 veces)

saulillo

  • Miembro activo
  • **
  • Mensajes: 32
    • Ver Perfil
Borrar Contenido De Archivo
« en: Martes 26 de Febrero de 2008, 17:54 »
0
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
  1.  
  2.  
  3. char dato;
  4. AnsiString dato1="";
  5. f1.seekg(0);
  6. dato = f1.get();
  7.  
  8. while(!f1.eof())
  9. {
  10.    f1<<dato1;
  11.    dato = f1.get();
  12. }
  13.  
  14.  

Pero me dice q no se puede usar << en fstream con AnsiString.

el_shanky

  • Miembro MUY activo
  • ***
  • Mensajes: 177
    • Ver Perfil
Re: Borrar Contenido De Archivo
« Respuesta #1 en: Miércoles 27 de Febrero de 2008, 01:26 »
0
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
  1.  
  2. fstream archivo;
  3. archivo.open(&#34;BORRAR.txt&#34;, ios::out | ios::trunc);//donde out abre al archivo como de salida y trunc lo limpia
  4. archivo.close();
  5.  
  6.  

*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!
"La programación hoy en día es una carrera entre los ingenieros de software intentado construir mejores y más eficientes programas a prueba de idiotas y el Universo intentando producir mejores y más grandes idiotas. De lejos, el Universo está ganando." - Rich Cook



http://www.maxcode.com.ar

http://www.shanky.com.ar

saulillo

  • Miembro activo
  • **
  • Mensajes: 32
    • Ver Perfil
Re: Borrar Contenido De Archivo
« Respuesta #2 en: Viernes 29 de Febrero de 2008, 11:37 »
0
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á!
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

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Re: Borrar Contenido De Archivo
« Respuesta #3 en: Jueves 4 de Septiembre de 2008, 14:28 »
0
Como se digo, solamente con ios|out, se borra por defecto cuando escribes el contenido que desees¡

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Borrar Contenido De Archivo
« Respuesta #4 en: Jueves 4 de Septiembre de 2008, 14:46 »
0
Cita de: "pedrow"
Como se digo, solamente con ios|out, se borra por defecto cuando escribes el contenido que desees¡

NO HAGAS SPAM!

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.