• Miércoles 6 de Noviembre de 2024, 07:32

Autor Tema:  Leer Y Escribir En Archivo  (Leído 1059 veces)

elbaulico

  • Nuevo Miembro
  • *
  • Mensajes: 10
    • Ver Perfil
Leer Y Escribir En Archivo
« en: Miércoles 28 de Enero de 2004, 13:32 »
0
Tengo un archivo de texto de la forma:
" direccion 45
  notas 2
"
y me gustaria actualizar ese archivo de forma que pueda quedar asi:
" direccion 45 nueva_cadena
  notas 2 otra_nueva_cadena"

Este es un ejemplo de lo que mas o menos quiero hacer.
Como tendria que abrir ese archivo ya existente? Lo tendria que abrir en modo lectura/escritura puesto que tengo que leer hasta el final de la primera linea para escribir algo despues no? Lo intentado asi

arhivo = fopen("Nombre_archivo","a+")

pero solo me lee bien el archivo pero cuando le pido que escriba:

"fputs(cadena,arvhivo)" no lo hace.

Gracias por adelantado

chuidiang

  • Miembro MUY activo
  • ***
  • Mensajes: 123
  • Nacionalidad: es
    • Ver Perfil
    • http://www.chuidiang.com
Re: Leer Y Escribir En Archivo
« Respuesta #1 en: Miércoles 28 de Enero de 2004, 14:33 »
0
No puedes insertar una cadena al final de una linea directamente en el archivo sin machacar la linea siguiente. Ten en cuenta que en realidad el fichero es una secuencia de bytes (caracteres ascii) y que no hay "huecos" para insertar cosas nuevas.

Para hacer lo que tu quieres tienes dos opciones

- Abres el fichero de lectura y otro distinto de escritura. En el nuevo fichero vas escribiendo lo que quieres. Si necesitas que sea el mismo fichero, luego borras el original y cambias de nombre al nuevo (tienes funciones C que hacen estas cosas).

- Abre el fichero para lectura y escritura (con fopen ("fichero", "r+")), lees todo en memoria, te situas otra vez al principio del fichero con fseek() y escribes lo que quieras escribir nuevo.

Se bueno.

elbaulico

  • Nuevo Miembro
  • *
  • Mensajes: 10
    • Ver Perfil
Re: Leer Y Escribir En Archivo
« Respuesta #2 en: Miércoles 28 de Enero de 2004, 14:54 »
0
Vale, gracias. Ahora entiendo muchas cosas.