std::fstream::close() en C++

Los archivos juegan un papel importante en la programación. Permite el almacenamiento de datos de forma permanente. El lenguaje C++ proporciona un mecanismo para almacenar la salida de un programa en un archivo y navegar desde un archivo en el disco. Este mecanismo se denomina manejo de archivos . Para realizar el manejo de archivos, algunas funciones generales que se utilizan son las siguientes:

  • open() : esta función ayuda a crear un archivo y abrirlo en diferentes modos, como operaciones de entrada, operaciones de salida, modo binario, etc.
  • close() : esta función ayuda a cerrar un archivo existente.
  • get(): esta función ayuda a leer un solo carácter del archivo.
  • put() : esta función ayuda a escribir un solo carácter en el archivo.
  • read() : esta función ayuda a leer datos de un archivo.
  • write() : Esta función nos ayuda a escribir datos en un archivo.

Un stream es una abstracción que representa una herramienta sobre la que se realizan operaciones de entrada y salida. Un flujo a menudo se representa como una fuente o destino de caracteres de longitud indefinida, dependiendo de su uso. Hasta ahora, el archivo de encabezado que proporciona las funciones cin y cout se usa para solicitar la entrada de la consola y escribir la salida en una consola, respectivamente. En C++ hay un grupo de métodos de manejo de archivos. Estos incluyen ifstream, ofstream y fstream . Estas clases se obtienen de fstreambasey de la clase iostream correspondiente. Estas clases están diseñadas para que puedan administrar los archivos del disco, declarados en fstream, y por lo tanto, este archivo debe incluirse en cualquier programa que use archivos.

Biblioteca fstream: Fstream es una biblioteca que consta de ofstream e ifstream , lo que significa que puede crear archivos, escribir información en archivos y leer información de archivos. Este archivo de encabezado generalmente se usa como un tipo de datos que representa el flujo de archivos . Que se usa al describir la sintaxis para abrir, leer, ingresar y cerrar el archivo, etc.

¿Cómo cerrar el archivo? Para usar un archivo de disco para almacenar datos, se deben decidir los siguientes parámetros sobre el archivo y su uso previsto. Los parámetros a tener en cuenta son los siguientes:

  • Un nombre para el archivo.
  • Tipo de datos y estructura del archivo.
  • Finalidad (lectura, escritura de datos).
  • Método de apertura.
  • Cerrar el archivo después de su uso.

Este artículo se centra en cerrar el archivo. En un caso, si un programa de C++ finaliza, automáticamente elimina todos los flujos, libera toda la memoria asignada y cierra todos los archivos abiertos. Por lo tanto, es una buena alternativa usar la función close() para cerrar los flujos relacionados con archivos, y es miembro de los objetos ifsream, ofstream y fstream. 

Sintaxis:

close()

Propiedades:

  • Valor de retorno: la función close() no proporciona ningún valor de retorno, lo que significa que si la operación falla, incluso si no se abrió ningún archivo antes de la llamada, el indicador de estado de bit de error se establece para la transmisión (lo que puede arrojar ios_base::failure si ese estado la bandera se registró utilizando excepciones de miembros.
  • Manejo de excepciones: cuando la función se proporciona con una excepción y la secuencia está en un estado válido, la función detecta cualquier excepción lanzada por una operación interna y la vuelve a lanzar después de cerrar el archivo. Lanza una excepción a la falla del tipo de miembro solo si la función falla (estableciendo el indicador de estado de falla) y las excepciones de miembros están configuradas para lanzar para ese estado.
  • Modifica el objeto fstream . El acceso simultáneo a un flujo equivalente puede introducir carreras de datos.

A continuación se muestra el programa C++ para implementar la función close():

C++

// C++ program to implement close() function
#include <fstream>
#include <iostream>
using namespace std;
 
// Driver Code
int main()
{
    char data[100];
 
    // Open a file in write
    // mode.
    ofstream outfile;
    outfile.open("gfg.data");
 
    cout << "Writing to the file" << endl;
    cout << "Enter your name: ";
 
    // This function will take the entire
    // the user enters and will store in
    // the "data" array declare above
    cin.getline(data, 100);
 
    // Write inputted data into
    // the file.
    outfile << data << endl;
 
    // Here we make use of the close()
    // function to close the opened file
    outfile.close();
 
    // Open a file in read mode
    ifstream infile;
    infile.open("gfg.data");
 
    cout << "Reading from the file"
         << endl;
    infile >> data;
 
    // Write the data at the screen
    cout << data << endl;
 
    // Close the opened file
    infile.close();
 
    return 0;
}

Producción:

Publicación traducida automáticamente

Artículo escrito por analystayush 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 *