Modos de apertura de archivos (r versus r+)

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:

  1. r
  2. r+
  3. 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

Deja una respuesta

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