Título: Duda sobre manejo de ficheros Publicado por: тαптяα en 7 Septiembre 2011, 12:57 pm nose porque pero me estoy liando muchisimo con fopen y los modos de escritura.
Quiero modificar todo lo que viene dentro de un fichero, y luego escribir al principio del mismo, sin borrarlo. Con fseek y como 3er parametro SEEK_SET pero el problema es que si abro el archivo con w+ se me borra todo Alguien me aclara. Título: Re: Duda sobre manejo de ficheros Publicado por: Queta en 7 Septiembre 2011, 13:07 pm Lee toda la referencia:
http://www.cplusplus.com/reference/clibrary/cstdio/fopen/ (http://www.cplusplus.com/reference/clibrary/cstdio/fopen/) Fíjate en el parámetro a/a+. Título: Re: Duda sobre manejo de ficheros Publicado por: тαптяα en 7 Septiembre 2011, 13:09 pm Ya Queta, pero el caso es que lo escribe sin modificar al final del archivo. Como lo utilizo con Fseek para que pueda escribirlo al principio?
Gracias Título: Re: Duda sobre manejo de ficheros Publicado por: Queta en 7 Septiembre 2011, 13:13 pm Claro, en el principio del archivo, perdón; estás utilizando w+ y como consecuencia se borra el antiguo archivo y se crea uno con el mismo nombre. w+:
Citar Create an empty file for both reading and writing. If a file with the same name already exists its content is erased and the file is treated as a new empty file. Debes hacerlo con r+. Título: Re: Duda sobre manejo de ficheros Publicado por: тαптяα en 8 Septiembre 2011, 20:40 pm El problema es que con r+ no puedo modificar el archivo, solo lo lee..
Título: Re: Duda sobre manejo de ficheros Publicado por: rir3760 en 8 Septiembre 2011, 21:50 pm El modo "r+" permite operaciones de lectura y escritura. Antes de realizar la operación "secundaria" (escritura) debes indicar explícitamente la posición en el archivo mediante "rewind" o "fseek".
Un detalle por lo que comentas es que estas tratando con un archivo de texto, utilizando funciones como fgets/fprintf, ¿Eso es correcto? Un saludo Título: Re: Duda sobre manejo de ficheros Publicado por: тαптяα en 8 Septiembre 2011, 22:06 pm El modo "r+" permite operaciones de lectura y escritura. Antes de realizar la operación "secundaria" (escritura) debes indicar explícitamente la posición en el archivo mediante "rewind" o "fseek". fprintf, si voy a ver si indicando con fseek el comienzo del archivo puedo modificarlo sin problemasUn detalle por lo que comentas es que estas tratando con un archivo de texto, utilizando funciones como fgets/fprintf, ¿Eso es correcto? Un saludo Muchas gracias. |