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 deftell()
y usefwrite()
para sobrescribirlo.
Si la longitud de la línea cambia, debe copiar el archivo.