Función C fopen() con ejemplos

Requisito previo: Fundamentos del manejo de archivos en C
El método fopen() en C es una función de biblioteca que se usa para abrir un archivo para realizar varias operaciones que incluyen lectura, escritura, etc. junto con varios modos. Si el archivo existe, se abre el archivo en particular; de lo contrario, se crea un nuevo archivo.

Sintaxis: 

FILE *fopen(const char *file_name, const char *mode_of_operation);

Parámetros: El método acepta dos parámetros de tipo carácter:  

  1. file_name: Este es del tipo de string C y acepta el nombre del archivo que se necesita abrir.
  2. mode_of_operation: Este también es del tipo de string C y se refiere al modo de acceso al archivo. A continuación se muestran los modos de acceso a archivos para C: 
    1. “r” – Archivo de búsquedas. Abre el archivo solo para lectura . Si el archivo se abre con éxito, fopen() lo carga en la memoria y configura un puntero que apunta al primer carácter que contiene. Si el archivo no se puede abrir, fopen() devuelve NULL.
    2. “w” – Archivo de búsquedas. Si el archivo ya existe, su contenido se sobrescribe. Si el archivo no existe, se crea un nuevo archivo. Devuelve NULL, si no puede abrir el archivo. Crea un nuevo archivo solo para escritura (sin lectura).
    3. “a” – Archivo de búsquedas. Si el archivo se abre con éxito, fopen() lo carga en la memoria y configura un puntero que apunta al último carácter que contiene. Si el archivo no existe, se crea un nuevo archivo. Devuelve NULL, si no puede abrir el archivo. El archivo se abre solo para agregar (escribir al final del archivo).
    4. “r+” – Busca archivo. Abre el archivo para lectura y escritura . Si se abre con éxito, fopen() lo carga en la memoria y establece un puntero que apunta al primer carácter que contiene. Devuelve NULL, si no puede abrir el archivo.
    5. “w+” – Busca archivos. Si el archivo existe, su contenido se sobrescribe. Si el archivo no existe, se crea un nuevo archivo. Devuelve NULL, si no puede abrir el archivo. La diferencia entre w y w+ es que también podemos leer el archivo creado usando w+.
    6. “a+” – Busca archivos. Si el archivo se abre con éxito, fopen() lo carga en la memoria y configura un puntero que apunta al último carácter que contiene. Si el archivo no existe, se crea un nuevo archivo. Devuelve NULL, si no puede abrir el archivo. El archivo se abre para leer y agregar (escribir al final del archivo).

Valor de retorno: la función se utiliza para devolver un puntero a ARCHIVO si la ejecución tiene éxito; de lo contrario, se devuelve NULL. 

Ejemplo 1:  

C

// C program to illustrate fopen()
 
#include <stdio.h>
#include <stdlib.h>
 
int main()
{
 
    // pointer demo to FILE
    FILE* demo;
 
    // Creates a file "demo_file"
    // with file access as write-plus mode
    demo = fopen("demo_file.txt", "w+");
 
    // adds content to the file
    fprintf(demo, "%s %s %s", "Welcome",
            "to", "GeeksforGeeks");
 
    // closes the file pointed by demo
    fclose(demo);
 
    return 0;
}

Al ejecutar el siguiente comando, se creará un nuevo archivo con el nombre “demo_file” y con el siguiente contenido: 

Welcome to GeeksforGeeks

Ejemplo 2: ahora, si deseamos ver el archivo, debemos ejecutar el siguiente código, que abrirá el archivo y mostrará su contenido. 

C

// C program to illustrate fopen()
 
#include <stdio.h>
 
int main()
{
 
    // pointer demo to FILE
    FILE* demo;
    int display;
 
    // Creates a file "demo_file"
    // with file access as read mode
    demo = fopen("demo_file.txt", "r");
 
    // loop to extract every characters
    while (1) {
        // reading file
        display = fgetc(demo);
 
        // end of file indicator
        if (feof(demo))
            break;
 
        // displaying every characters
        printf("%c", display);
    }
 
    // closes the file pointed by demo
    fclose(demo);
 
    return 0;
}

Producción: 

Welcome to GeeksforGeeks

Más artículos sobre manejo de archivos en C:  

  1. Conceptos básicos del manejo de archivos en C
  2. fopen() para un archivo existente en modo de escritura
  3. EOF, getc() y feof() en C
  4. Modos de apertura de archivos (r versus r+)

Publicación traducida automáticamente

Artículo escrito por Chinmoy Lenka y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *