Pregunta

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

¿Fue útil?

Solución

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

  • Abra el archivo en el modo de a+
  • fseek() al inicio del archivo
  • Antes de leer la siguiente línea, utilice ftell() señalar el inicio de la línea
  • Leer la línea
  • Si se trata de la línea que desea, fseek() de nuevo con el resultado de ftell() y utilizar fwrite() entre reescribir.

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

Otros consejos

Desde archivos (desde el punto de vista de la biblioteca estándar de C) no son de línea orientado, pero son sólo una secuencia de caracteres (o bytes en modo binario), no se puede esperar para editarlos en el nivel de línea facilidad.

Como Aaron describe, puede reemplazar, por supuesto, los personajes que componen la línea si su reemplazo es exactamente el mismo recuento de caracteres.

Puede también (tal vez) insertar un reemplazo más corto rellenando con espacios en blanco al final (antes de la terminación de línea). Eso es, por supuesto, un poco crudo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top