Acceso a archivos en lenguaje c
en el lenguaje C
Entrada y salida estándar
Hasta ahora todos los ejemplos han leído de la entrada estándar y escrito en la salida estándar, las cuales se definenautomáticamente para los programas por el sistema operativo local. El siguiente paso es escribir un programa que dé acceso a un archivo que no esté conectado al programa.
La necesidad de leer de unarchivo
cat concatena en la salida estándar un conjunto de archivos nombrados.
– cat x.c y.c
Imprime el contenido de los archivos x.c y y.c en la salida estándar. ¿Cómo hacer que los archivosnombrados sean leídos?
fopen
Antes de que pueda ser leído o escrito, un archivo tiene que ser abierto por la función de la biblioteca fopen, la cual toma un nombre externo como x.c o y.c,hace algunos arreglos y negociaciones con el sistema operativo y regresa un apuntador que será usado en posteriores lecturas o escrituras.
Apuntador de archivo
El apuntador regresado se ledenomina apuntador de archivo y apunta a una estructura (FILE) que tiene información acerca del archivo:
– Ubicación del buffer – Posición de carácter actual en el buffer – Lectura o escritura –Errores o fin de archivo
Declaración de apuntadores:
– FILE *fp; – FILE *fopen(char *nombre, char *modo);
• fp es un apuntador a FILE • fopen regresa un apuntador a FILE • FILE es un nombre detipo como int, está definido con un typedef.
Llamada a fopen en un programa:
– fp = fopen(nombre, modo);
• nombre = nombre del archivo • modo = lectura (“r”), escritura (“w”) y añadido (“a”).Archivos abiertos
Si no existe, se crea al abrir para escribir o añadir. Si existe, pierde el contenido al abrir para escribir y se conserva el contenido al abrir para añadir. Si hay unerror se regresa NULL. El error puede ser por leer un archivo inexistente o por no tener el permiso para hacerlo.
Leer o escribir en archivos abiertos
Existen varias formas de hacerlo:
–...
Regístrate para leer el documento completo.