SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: Vndecid en Lunes 8 de Marzo de 2010, 23:09

Título: Borrar linea en un archivo
Publicado por: Vndecid en Lunes 8 de Marzo de 2010, 23:09
Hola tengo un problemita con C , espero que me puesdan ayudar.

Tengo un archivo con datos .Cada uno de los datos es una linea en el programa asi

1|linea|lalalal|zarazazaraza
2|linea|lalalal|zarazazaraza
3|linea|lalalal|zarazazaraza

la pregunta es COMO hago para borrar del archivo de texto la linea 2 quedando asi

1|linea|lalalal|zarazazaraza
3|linea|lalalal|zarazazaraza

Me esta MATANDO si alguien lo sabe le agradeceria que me contestara...
Título: Re: Borrar linea en un archivo
Publicado por: Eternal Idol en Martes 9 de Marzo de 2010, 09:08
O lees todo, le sacas lo que no queres y volves a escribir, o te posicionas en la la linea que queres borrar y escribis lo que continua y truncas el archivo.
Título: Re: Borrar linea en un archivo
Publicado por: Vndecid en Martes 9 de Marzo de 2010, 10:35
Muchas gracias pero se me fue el dedito :Pdel suprimir
Eso que me dijiste ya lo hice el tema es que quiero actualizar el archivo  o sea dejo el lugar en blanco y eso es lo que no SE como hacer

1|linea|lalalal|zarazazaraza
2|
3|linea|lalalal|zarazazaraza

para despues poner un dato nuevo o sobreescribir pero borrando todo lo demas que TAMPOCO me sale
quedandome los datos superpuestos...:P

1|linea|lalalal|zarazazaraza
2|datonuevodatonuevozaraz
3|linea|lalalal|zarazazaraza

si me decis que para cualquiera de las dos tengo que hacer un archivo nuevo listo ...me quedo tranquilo si hay una manera mas facil...te lo agredeceria ...
Gracias!
Título: Re: Borrar linea en un archivo
Publicado por: Eternal Idol en Martes 9 de Marzo de 2010, 15:06
Podes hacerlo cargando todo en memoria siempre que el archivo no sea enorme.
Título: Re: Borrar linea en un archivo
Publicado por: Vndecid en Martes 9 de Marzo de 2010, 16:02
Veo veo ...Gracias muchas gracias ...

es raro que no exista una manera de usar el backspace en c sobre un archivo pero si me dicen que es asi.....
Título: Re: Borrar linea en un archivo
Publicado por: herzdark en Domingo 14 de Marzo de 2010, 02:32
Cita de: "Eternal Idol"
Podes hacerlo cargando todo en memoria siempre que el archivo no sea enorme.
no seria mas productivo q haga un fseek hacia la posicion de la linea, que lea el dato, mueva el puntero de escritura para atras y que guarde la linea modificada?
Título: Re: Borrar linea en un archivo
Publicado por: Eternal Idol en Domingo 14 de Marzo de 2010, 10:31
Cita de: "herzdark"
Cita de: "Eternal Idol"
Podes hacerlo cargando todo en memoria siempre que el archivo no sea enorme.
no seria mas productivo q haga un fseek hacia la posicion de la linea, que lea el dato, mueva el puntero de escritura para atras y que guarde la linea modificada?

No se si leiste todo el hilo: "O lees todo, le sacas lo que no queres y volves a escribir, o te posicionas en la la linea que queres borrar y escribis lo que continua y truncas el archivo."

PD. Lo que decis no es suficiente, quedarian dos lineas repetidas de esa manera.