Lectura/Escritura de ficheros en C

maRc

Estoy aprendiendo C en la facultad, y todavía no hemos llegado a la susodicha parte. Pero yo, curioso, me he bajado un curso de C (de elcincondelc.com), para ver como era esto de escritura de ficheros.

Al grano, que en ese curso te explican como hacerlo, pero se define los nombres de los ficheros en el código fuente, por lo tanto, una vez compilado, no se puede cambiar.
Lo que yo quiero hacer es que el programa pida al usuario un nombre de fichero, y que lo abra para leer/escribir en el. ¿Cómo se hace esto?

Muchas Gracias :)

murpix

Bueno, no es dificil.

// Declaras un puntero para el fichero.

FILE *pf;

Lo primero que tienes que haces es abrir el fichero: puntero=fopen("nombre_fichero.txt","modo acceso"); Ej: pf:=fopen("agenda.txt","a+") , esta es la sinstasis, ahora bien, de aqui lo que tienes que contemplar es la manera que quieres para abrir el fichero, si es solo lectura, lectura y escritura, ect..., en esta direccion tiene los modos de apertura, y bueno para utilizar ficheros.

http://www.undersec.com/sjfproject/prog/ficheros/ficheros.htm

Una vez abierto, pues ya leerias o grabarias o lo que hicieses, y despues cerrarlo con fclose(puntero), Que no se te olvide cerrarlo que te puede dar bastantes problemas :)
Respecto a dar el nombre del fichero, con una variable no tendrias problemas.

maRc

Gracias, lo había intentado con una cadena pero no me había funcionado. Ahora he probado varias combinaciones y ya va.
Muchas gracias.

Usuarios habituales

  • maRc
  • murpix