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

[SOLUCIONADO] Modificar un archivo txt en una linea especifica

Estas en el tema de Modificar un archivo txt en una linea especifica en el foro de C/C++ en Foros del Web. Tengo un archivo txt en el que tengo reservado un espacio en una posicion especifica para meter informacion. Cuando quiero ir a aquella linea a ...
  #1 (permalink)  
Antiguo 16/11/2014, 16:53
 
Fecha de Ingreso: agosto-2010
Mensajes: 20
Antigüedad: 13 años, 8 meses
Puntos: 0
Pregunta Modificar un archivo txt en una linea especifica

Tengo un archivo txt en el que tengo reservado un espacio en una posicion especifica para meter informacion. Cuando quiero ir a aquella linea a escribir utilizo el siguiente codigo

Código:
fsetpos(file, &position_beacon);  // Me situo en la posicion de la linea deseada ( fgetpos para obtener la posicion )
fputs("Hola Mundo\n",file);
fgetpos(file,&position_beacon); // Vuelvo a guardar la posicion para escribir en un futuro
Escribe bien en el hueco el problema es que borra caracteres de la linea inmediatamente inferior. Como puedo escribir en la linea que yo quiero sin que borre nada de abajo?

Saludos!
  #2 (permalink)  
Antiguo 17/11/2014, 06:19
 
Fecha de Ingreso: julio-2012
Mensajes: 375
Antigüedad: 11 años, 9 meses
Puntos: 28
Respuesta: Modificar un archivo txt en una linea especifica

¿Reescribiendo el fichero entero?
  #3 (permalink)  
Antiguo 17/11/2014, 09:31
 
Fecha de Ingreso: agosto-2010
Mensajes: 20
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Modificar un archivo txt en una linea especifica

Quizas no me explique bien.

Código:
{PInfo}
Pepe
Rodriguez

{PEvento}

{Ptiempo}
1.12.9
1.13.9
1.13.5
Eso es lo que tengo en el .txt.Quiero introducir debajo de {PEvento} por ejemplo vuelta 2, y que no se me descalabre todo lo que haya debajo. Es decir:

Código:
{PInfo}
Pepe
Rodriguez

{PEvento}
vuelta 2

{Ptiempo}
1.12.9
1.13.9
1.13.5
  #4 (permalink)  
Antiguo 17/11/2014, 10:45
 
Fecha de Ingreso: octubre-2014
Ubicación: Madrid
Mensajes: 1.212
Antigüedad: 9 años, 6 meses
Puntos: 204
Respuesta: Modificar un archivo txt en una linea especifica

Tienes que hacer lo que te ha dicho amchacon.

Tu piensa que, aunque veas el contenido del archivo en diferentes líneas, realmente está todo seguido en el disco. Algo así:

Código .:
Ver original
  1. {PInfo}#Pepe#Rodriguez##{PEvento}##{Ptiempo}#1.12.9#1.13.9#1.13.5

Las almohadillas intentan representar el / los caracteres de salto de línea ( \n, \r\n, \n\r )

Entonces, queda claro que si yo añado algo después de {PEvento}, estaré pisando el contenido que le sigue.

La única solución para evitar este problema es reescribir el fichero, para ello tienes que leer el fichero, almacenar su contenido en memoria como mejor te convenga y reescribir el fichero con el contenido deseado.

Un saludo.
  #5 (permalink)  
Antiguo 17/11/2014, 12:57
 
Fecha de Ingreso: agosto-2010
Mensajes: 20
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Modificar un archivo txt en una linea especifica

Entendido!!! Muchas gracias a los dos!

Etiquetas: especifica, modificar, txt
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 23:01.