C ++

Cómo leer y escribir en un archivo en C ++

Cómo leer y escribir en un archivo en C ++

En este artículo, le mostraremos cómo leer y escribir en un archivo en el lenguaje de programación C ++ utilizando varios ejemplos. Para comprender las operaciones de archivos de C ++ como lectura y escritura, primero debemos comprender el concepto de una secuencia en C++.

¿Qué es una corriente??

Una corriente es simplemente un flujo de datos o caracteres. Hay dos tipos de flujos: flujos de entrada y flujos de salida. Un flujo de entrada se usa para leer los datos de un dispositivo de entrada externo, como un teclado, mientras que un flujo de salida se usa para escribir datos en el dispositivo de salida externo, como un monitor. Un archivo puede considerarse como fuente de entrada y salida.

En C ++, usamos una secuencia para enviar o recibir datos hacia o desde una fuente externa.

Podemos usar clases integradas para acceder a un flujo de entrada / salida, yo.mi., "Ios".

Aquí está la jerarquía de clases de flujo del lenguaje de programación C ++:

Los objetos "cin" y "cout" se utilizan para leer los datos del teclado y mostrar la salida en el monitor, respectivamente. Además, "ifstream", que significa "flujo de archivo de entrada", se usa para leer un flujo de datos de un archivo, y "ofstream", que significa "flujo de archivo de salida", se usa para escribir un flujo de datos. a un archivo.

El "iostram.h ”contiene todas las clases de flujo de entrada / salida estándar requeridas en el lenguaje de programación C ++.

Ejemplos de

Ahora que comprende los conceptos básicos de las transmisiones, analizaremos los siguientes ejemplos para ayudarlo a comprender mejor las operaciones de archivos en C ++:

Ejemplo 1: abrir y cerrar un archivo

En este programa de ejemplo, demostraremos cómo abrir / crear un archivo y cómo cerrar el archivo en C++. Como puede ver en el programa a continuación, hemos incluido la biblioteca necesaria para las operaciones de archivos.

Para abrir y cerrar un archivo, necesitamos un objeto ofstream. Luego, para leer o escribir en un archivo, tenemos que abrir el archivo. Hemos incluido el archivo de encabezado de fstream en la línea número-1 para que podamos acceder a la clase de flujo.

Hemos declarado myFile_Handler como un objeto de ofstream dentro de la función principal. Luego podemos usar la función open () para crear un archivo vacío y la función close () para cerrar el archivo.

#incluir
usando el espacio de nombres std;
int main ()

ofstream myFile_Handler;
// Archivo abierto
myFile_Handler.abrir ("Archivo_1.TXT");
// Archivo Cerrar
myFile_Handler.cerca();
return 0;

Ahora, compilaremos el programa y examinaremos la salida. Como puede ver en la ventana de salida a continuación, el "Archivo_1.txt ”se creó después de ejecutar el programa. El tamaño del archivo es cero ya que no hemos escrito ningún contenido en el archivo.

Ejemplo 2: escribir en un archivo

En el programa de ejemplo anterior, le mostramos cómo abrir un archivo y cómo cerrarlo. Ahora, le mostraremos cómo escribir algo en un archivo.

Podemos escribir en un archivo usando el operador de inserción de flujo, yo.mi., "<<”. In this program, we have used the file handler and insertion operator to write two lines in the file. The insertion operator (“<<”) indicates that we are inserting the string into the output file stream object.

#incluir
usando el espacio de nombres std;
int main ()

ofstream myFile_Handler;
// Archivo abierto
myFile_Handler.abrir ("Archivo_1.TXT");
// Escribe en el archivo
myFile_Handler << "This is a sample test File. " << endl;
myFile_Handler << "This is the second line of the file. " << endl;
// Archivo Cerrar
myFile_Handler.cerca();
return 0;

Ahora, compilaremos el programa anterior y lo ejecutaremos. Como puede ver a continuación, hemos escrito correctamente en el archivo File_1.TXT.

Ejemplo 3: leer de un archivo

En los ejemplos anteriores, le mostramos cómo escribir contenido en un archivo. Ahora, leamos el contenido del archivo que creamos en el Ejemplo-2 y visualicemos el contenido en el dispositivo de salida estándar, i.mi., el monitor.

Usamos la función getline () para leer la línea completa del archivo y luego "cout" para imprimir la línea en el monitor.

#incluir
#incluir
#incluir
usando el espacio de nombres std;
int main ()

ifstream myFile_Handler;
string myLine;
// Archivo abierto en modo lectura
myFile_Handler.abrir ("Archivo_1.TXT");
si (myFile_Handler.Esta abierto())

// Sigue leyendo el archivo
while (getline (myFile_Handler, myLine))

// imprime la línea en la salida estándar
cout << myLine << endl;

// Archivo Cerrar
myFile_Handler.cerca();

demás

cout << "Unable to open the file!";

return 0;

Ahora imprimiremos el contenido de File_1.txt usando el siguiente comando: cat File_1.TXT. Una vez que compilamos y ejecutamos el programa, queda claro que la salida coincide con el contenido del archivo. Por lo tanto, hemos leído correctamente el archivo e impreso el contenido del archivo en el monitor.

Ejemplo 4: leer y escribir en un archivo

Hasta ahora, le hemos mostrado cómo abrir, leer, escribir y cerrar un archivo. En C ++, también podemos leer y escribir en un archivo al mismo tiempo. Para leer y escribir en un archivo, tenemos que obtener un objeto fstream y abrir el archivo en modo "ios :: in" y "ios :: out".

En este ejemplo, primero escribimos algo de contenido en el archivo. Luego, leemos los datos del archivo y los imprimimos en el monitor.

#incluir
#incluir
#incluir
usando el espacio de nombres std;
int main ()

fstream myFile_Handler;
string myLine;
// Archivo abierto
myFile_Handler.abrir ("Archivo_1.txt ", ios :: entrada | ios :: salida);
// Comprueba si el archivo se ha abierto
Si(!myFile_Handler)

cout << "File did not open!";
salida (1);

// Escribe en el archivo
myFile_Handler << "1. This is another sample test File. " << endl;
myFile_Handler << "2. This is the second line of the file. " << endl;
myFile_Handler.seekg (ios :: rogar);
// Leer el archivo
si (myFile_Handler.Esta abierto())

// Sigue leyendo el archivo
while (getline (myFile_Handler, myLine))

// imprime la línea en la salida estándar
cout << myLine << endl;

// Archivo Cerrar
myFile_Handler.cerca();

demás

cout << "Unable to open the file!";

myFile_Handler.cerca();
return 0;

Ahora, compilaremos y ejecutaremos el programa.

Ejemplo 5: leer y escribir en un archivo binario

En este ejemplo, declararemos una clase y luego escribiremos el objeto en un archivo binario. Para simplificar este ejemplo, hemos declarado la clase Empleado con una variable pública emp_id. Luego, leeremos el archivo binario e imprimiremos la salida al monitor.

#incluir
#incluir
usando el espacio de nombres std;
clase empleado

público:
int emp_id;
;
int main ()

ofstream binOutFile_Handler;
ifstream binInFile_Handler;
Empleado empObj_W, empObj_R;
// Archivo abierto
binOutFile_Handler.open ("Empleado.dat ", ios :: salida | ios :: binario);
// Comprueba si el archivo se ha abierto
Si(!binOutFile_Handler)

cout << "File did not open!";
salida (1);

// Inicializar empObj_W
empObj_W.emp_id = 1512;
// Escribe en el archivo
binOutFile_Handler.write ((char *) & empObj_W, sizeof (Empleado));
binOutFile_Handler.cerca();
Si(!binOutFile_Handler.bien())

cout << "Error occured during writing the binary file!" << endl;
salida (2);

// Ahora, leamos al empleado.archivo dat
binInFile_Handler.open ("Empleado.dat ", ios :: en | ios :: binario);
// Comprueba si el archivo se ha abierto
Si(!binInFile_Handler)

cout << "File did not open!";
salida (3);

// Leer el contenido del archivo binario
binInFile_Handler.read ((char *) & empObj_R, sizeof (Empleado));
binInFile_Handler.cerca();
Si(!binInFile_Handler.bien())

cout << "Error occured during reading the binary file!" << endl;
salida (4);

// Imprime la salida de empObj_R
cout << "Details of the Employee : " << endl;
cout << "Employee ID : " << empObj_R.emp_id << endl;
return 0;

Conclusión

Los archivos se utilizan principalmente para almacenar los datos y juegan un papel importante en la programación del mundo real. En este artículo, le mostramos cómo usar varias operaciones de archivo con el lenguaje de programación C ++ trabajando con varios ejemplos. Además, le mostramos cómo leer y escribir datos tanto en archivos de texto como en archivos binarios.

Cómo usar Xdotool para estimular los clics del mouse y las pulsaciones de teclas en Linux
Xdotool es una herramienta de línea de comandos gratuita y de código abierto para simular clics del mouse y pulsaciones de teclas. Este artículo cubri...
Los 5 mejores productos ergonómicos de mouse de computadora para Linux
¿El uso prolongado de la computadora causa dolor en la muñeca o los dedos?? ¿Sufre de rigidez en las articulaciones y constantemente tiene que dar la ...
Cómo cambiar la configuración del mouse y el panel táctil con Xinput en Linux
La mayoría de las distribuciones de Linux se envían con la biblioteca "libinput" de forma predeterminada para manejar eventos de entrada en un sistema...