Un archivo debe abrirse antes del comienzo de las operaciones de lectura y escritura. Al abrir un archivo se crea un vínculo entre el sistema operativo y la función de archivo.
Sintaxis para abrir un archivo:
FILE *fp; fp = fopen( " filename with extension ", " mode " );
Apertura de archivo en detalle:
ARCHIVO : estructura definida en el archivo de cabecera stdio.h. La estructura del ARCHIVO nos proporciona la información necesaria sobre un ARCHIVO.
fp : puntero de archivo que contiene la dirección de la estructura ARCHIVO.
fopen() : esta función abrirá un archivo con el nombre «nombre de archivo» en el «modo» especificado.
Diferentes modos de lectura:
- r
- r+
- para archivos binarios: rb, rb+, r+b
Diferencia:
modo r | modo r+ | |
---|---|---|
Objetivo | Abre un archivo de texto existente para fines de lectura. | Abre un archivo de texto para lectura y escritura. |
fopen Devuelve si el ARCHIVO no existe | NULO | Crear nuevo archivo |
fopen devuelve si ARCHIVO existe | Devuelve un puntero al objeto FILE. | Los datos nuevos se escriben al comienzo de los datos existentes. |
posición del puntero del archivo | en el primer carácter del archivo | en el primer carácter del archivo |
Programa en C para abrir archivos en modo r:
#include <stdio.h> void main() { FILE* fp; char ch; // Open file in Read mode fp = fopen("INPUT.txt", "r+"); // data in file: geeksforgeeks while (1) { ch = fgetc(fp); // Read a Character if (ch == EOF) // Check for End of File break; printf("%c", ch); } fclose(fp); // Close File after Reading }
Producción:
geeksforgeeks
Nota: El archivo abierto debe cerrarse en el programa después del procesamiento.
Programa en C para abrir archivos en modo r+:
#include <stdio.h> void main() { FILE* fp; char ch; // Open file in Read mode fp = fopen("INPUT.txt", "r+"); // content of the file:geeksforgeeks while (1) { ch = fgetc(fp); // Read a Character if (ch == EOF) // Check for End of File break; printf("%c", ch); } fprintf(fp, " online reference."); fclose(fp); // Close File after Reading // content of the file: geeksforgeeks online reference. fp = fopen("INPUT.txt", "r+"); // Open file in r + mode while (1) { ch = fgetc(fp); // Read a Character if (ch == EOF) // Check for End of File break; printf("%c", ch); } fclose(fp); }
Producción:
geeksforgeeks online reference
Publicación traducida automáticamente
Artículo escrito por i.harish Kumar y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA