una txt texto sobrescribir separado reemplazar por lineas linea leer las especifica escribir crear contar como comas archivos archivo agregar c file variables writing

txt - sobrescribir una línea específica en un archivo de texto?



reemplazar texto en archivo txt c# (2)

¿Cómo hago para sobrescribir una línea específica en un archivo de texto en c ?. Tengo valores en múltiples variables que deben escribirse en el archivo.


Como los archivos (desde el punto de vista de la biblioteca estándar de C) no están orientados a la línea, sino que son solo una secuencia de caracteres (o bytes en modo binario), no puede esperar editarlos fácilmente en el nivel de la línea.

Como describió Aaron, puedes reemplazar a los personajes que componen la línea si tu reemplazo tiene el mismo número de personajes.

También puede (tal vez) insertar un reemplazo más corto por relleno con espacios en blanco al final (antes del terminador de línea). Eso es, por supuesto, un poco crudo.


Esto solo funciona cuando la nueva línea tiene el mismo tamaño que la anterior:

  • Abra el archivo en el modo a+
  • fseek() al comienzo del archivo
  • Antes de leer la siguiente línea, use ftell() para notar el comienzo de la línea
  • Lee la linea
  • Si es la línea que desea, fseek() nuevamente con el resultado de ftell() y use fwrite() para sobrescribirlo.

Si la longitud de la línea cambia, debe copiar el archivo.