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 leer y escribir, primero debemos comprender el concepto de flujo en c++.

Que es una transmisión?

Una transmisión es simplemente un flujo de datos o caracteres. Hay dos tipos de transmisiones: transmisiones de entrada y flujos de salida. Se utiliza una secuencia de entrada para leer los datos de un dispositivo de entrada externo, como un teclado, mientras que se utiliza una secuencia de salida para escribir datos en el dispositivo de salida externo, como un monitor. Un archivo puede considerarse como una fuente de entrada y salida.

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

Podemos usar clases incorporadas para acceder a una secuencia de entrada/salida, i.mi., "Ios".

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

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

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

Ejemplos

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

  • Ejemplo 1: Abra y cierre un archivo
  • Ejemplo 2: escribir en un archivo
  • Ejemplo 3: Leer desde un archivo
  • Ejemplo 4: Leer y escribir en un archivo
  • Ejemplo 5: Leer y escribir en un archivo binario

Ejemplo 1: Abra y cierre 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 siguiente programa, hemos incluido la biblioteca requerida para las operaciones de archivos.

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

Hemos declarado un 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 Cerrar () para cerrar el archivo.

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

OfStream myFile_Handler;
// archivo abierto
myfile_handler.Abrir ("file_1.TXT");
// archivo cierre
myfile_handler.cerca();
regresar 0;

Ahora, compilaremos el programa y examinaremos la salida. Como puede ver en la ventana de salida a continuación, el "file_1.Se creó el archivo TXT "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 cerrar el archivo. Ahora, le mostraremos cómo escribir algo en un archivo.

Podemos escribir en un archivo usando el operador de inserción de transmisión, 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 ("file_1.TXT");
// escribir en el archivo
myfile_handler << "This is a sample test File. " << endl;
myfile_handler << "This is the second line of the file. " << endl;
// archivo cierre
myfile_handler.cerca();
regresar 0;

Ahora, compilaremos el programa anterior y lo ejecutaremos. Como puede ver a continuación, hemos escrito con éxito en el archivo file_1.TXT.

Ejemplo 3: Leer desde 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 mostramos 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;
cadena myline;
// Archivo abierto en el modo de lectura
myfile_handler.Abrir ("file_1.TXT");
if (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 cierre
myfile_handler.cerca();

demás

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

regresar 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, está claro que la salida coincide con el contenido del archivo. Por lo tanto, hemos leído con éxito el archivo e imprimimos el contenido del archivo al 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 el modo "iOS :: in" y "iOS :: Out".

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

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

fstream myFile_Handler;
cadena myline;
// archivo abierto
myfile_handler.Abrir ("file_1.txt ", iOS :: in | iOS :: out);
// verifique si el archivo ha abierto
si(!myFile_Handler)

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

// escribir 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 :: Beg);
// Lee el archivo
if (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 cierre
myfile_handler.cerca();

demás

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

myfile_handler.cerca();
regresar 0;

Ahora, compilaremos y ejecutaremos el programa.

Ejemplo 5: Leer y escribir en un archivo binario

En este ejemplo, vamos a declarar una clase y luego escribir el objeto a un archivo binario. Para simplificar este ejemplo, hemos declarado la clase de empleados 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;
empleado de clase

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

OfStream binoutfile_handler;
ifstream bininfile_handler;
Empleado EMPOBJ_W, EMPOBJ_R;
// archivo abierto
binoutfile_handler.Abierto ("Empleado.dat ", iOS :: OUT | ios :: binario);
// verifique si el archivo ha abierto
si(!binoutfile_handler)

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

// Inicializar Empobj_W
Empobj_W.emp_id = 1512;
// escribir en el archivo
binoutfile_handler.escribir ((char *) y 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.Abierto ("Empleado.dat ", iOS :: en | ios :: binario);
// verifique si el archivo ha abierto
si(!bininfile_handler)

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

// Lea el contenido del archivo binario
bininfile_handler.read ((char *) y empobj_r, sizeof (empleado));
bininfile_handler.cerca();
si(!bininfile_handler.bien())

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

// Imprimir la salida de Empobj_r
cout << "Details of the Employee : " << endl;
cout << "Employee ID : " << empObj_R.emp_id << endl;
regresar 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 archivos con el lenguaje de programación C ++ trabajando a través de varios ejemplos. Además, le mostramos cómo leer y escribir datos en archivos de texto y archivos binarios.