Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial programming >> Lenguaje C

Manejo de archivos C++:cómo abrir, escribir, leer y cerrar archivos en C++

¿Qué es el manejo de archivos en C++?

Los archivos almacenan datos de forma permanente en un dispositivo de almacenamiento. Con el manejo de archivos, la salida de un programa se puede almacenar en un archivo. Se pueden realizar varias operaciones en los datos mientras están en el archivo.

Un flujo es una abstracción de un dispositivo donde se realizan operaciones de entrada/salida. Puede representar una transmisión como un destino o una fuente de caracteres de longitud indefinida. Esto será determinado por su uso. C ++ le proporciona una biblioteca que viene con métodos para el manejo de archivos. Discutámoslo.

En este tutorial de C++, aprenderá:

La biblioteca fstream

La biblioteca fstream proporciona a los programadores de C++ tres clases para trabajar con archivos. Estas clases incluyen:

La siguiente imagen lo hace fácil de entender:



Para usar las clases anteriores de la biblioteca fstream, debe incluirlas en su programa como un archivo de encabezado. Por supuesto, utilizará la directiva de preprocesador #include. También debe incluir el archivo de encabezado de iostream.

Cómo abrir archivos

Antes de realizar cualquier operación en un archivo, primero debe abrirlo. Si necesita escribir en el archivo, ábralo usando objetos fstream u ofstream. Si solo necesita leer el archivo, ábralo con el objeto ifstream.

Los tres objetos, es decir, fstream, ofstream e ifstream, tienen definida la función open(). La función toma esta sintaxis:

open (file_name, mode);
Valor Descripción ios::appEl modo Agregar. La salida enviada al archivo se adjunta a él.ios::ateAbre el archivo para la salida, luego mueve el control de lectura y escritura al final del archivo.ios::inAbre el archivo para una lectura.ios::outAbre el archivo para write.ios::truncSi existe un archivo, los elementos del archivo deben truncarse antes de abrirlo.

Es posible utilizar dos modos al mismo tiempo. Los combinas usando el | (O) operador.

Ejemplo 1:

#include <iostream>
#include <fstream>
using namespace std;
int main() {
	fstream my_file;
	my_file.open("my_file", ios::out);
	if (!my_file) {
		cout << "File not created!";
	}
	else {
		cout << "File created successfully!";
		my_file.close(); 
	}
	return 0;
}

Salida:

Aquí hay una captura de pantalla del código:


Explicación del código:

  1. Incluya el archivo de encabezado iostream en el programa para usar sus funciones.
  2. Incluya el archivo de encabezado fstream en el programa para usar sus clases.
  3. Incluya el espacio de nombres estándar en nuestro código para usar sus clases sin llamarlo.
  4. Llama a la función main(). La lógica del programa debe ir dentro de su cuerpo.
  5. Cree un objeto de la clase fstream y asígnele el nombre my_file.
  6. Aplica la función open() en el objeto anterior para crear un nuevo archivo. El modo de salida nos permite escribir en el archivo.
  7. Utilice la declaración if para verificar si la creación del archivo falló.
  8. Mensaje para imprimir en la consola si no se creó el archivo.
  9. Fin del cuerpo de la instrucción if.
  10. Utilice una declaración else para indicar qué hacer si se creó el archivo.
  11. Mensaje para imprimir en la consola si se creó el archivo.
  12. Aplica la función close() en el objeto para cerrar el archivo.
  13. Fin del cuerpo de la sentencia else.
  14. El programa debe devolver valor si se completa correctamente.
  15. Fin del cuerpo de la función main().

Cómo cerrar archivos

Una vez que un programa C++ termina, automáticamente

Sin embargo, como programador, debe aprender a cerrar los archivos abiertos antes de que finalice el programa.

Los objetos fstream, ofstream e ifstream tienen la función close() para cerrar archivos. La función toma esta sintaxis:

void close();

Cómo escribir en archivos

Puede escribir en el archivo directamente desde su programa C++. Utiliza el operador de inserción de flujo (<<) para esto. El texto que se escribirá en el archivo debe estar entre comillas dobles.

Demostremos esto.

Ejemplo 2:

#include <iostream>
#include <fstream>
using namespace std;
int main() {
	fstream my_file;
	my_file.open("my_file.txt", ios::out);
	if (!my_file) {
		cout << "File not created!";
	}
	else {
		cout << "File created successfully!";
		my_file << "Guru99";
		my_file.close();
	}
	return 0;
}

Salida :

Aquí hay una captura de pantalla del código:


Explicación del código:

  1. Incluya el archivo de encabezado iostream en el programa para usar sus funciones.
  2. Incluya el archivo de encabezado fstream en el programa para usar sus clases.
  3. Incluya el espacio de nombres estándar en el programa para usar sus clases sin llamarlo.
  4. Llama a la función main(). La lógica del programa debe agregarse dentro del cuerpo de esta función.
  5. Cree una instancia de la clase fstream y asígnele el nombre my_file.
  6. Use la función open() para crear un nuevo archivo llamado my_file.txt. El archivo se abrirá en el modo de salida para escribir en él.
  7. Utilice una instrucción if para comprobar si el archivo no se ha abierto.
  8. Texto para imprimir en la consola si el archivo no está abierto.
  9. Fin del cuerpo de la sentencia if.
  10. Utilice una declaración else para indicar qué hacer si se creó el archivo.
  11. Texto para imprimir en la consola si se creó el archivo.
  12. Escribe algo de texto en el archivo creado.
  13. Utilice la función close() para cerrar el archivo.
  14. Fin del cuerpo de la sentencia else.
  15. El programa debe devolver valor al completarse con éxito.
  16. Fin del cuerpo de la función main().

Cómo leer archivos

Puede leer información de archivos en su programa C++. Esto es posible usando el operador de extracción de flujo (>>). Utiliza el operador de la misma manera que lo usa para leer la entrada del usuario desde el teclado. Sin embargo, en lugar de usar el objeto cin, usa el objeto ifstream/fstream.

Ejemplo 3:

#include <iostream>
#include <fstream>
using namespace std;
int main() {
	fstream my_file;
	my_file.open("my_file.txt", ios::in);
	if (!my_file) {
		cout << "No such file";
	}
	else {
		char ch;

		while (1) {
			my_file >> ch;
			if (my_file.eof())
				break;

			cout << ch;
		}

	}
	my_file.close();
	return 0;
}

Salida:

No hay tal archivo

Aquí hay una captura de pantalla del código:

Explicación del código:

  1. Incluya el archivo de encabezado iostream en el programa para usar sus funciones.
  2. Incluya el archivo de encabezado fstream en el programa para usar sus clases.
  3. Incluya el espacio de nombres estándar en el programa para usar sus clases sin llamarlo.
  4. Llama a la función main(). La lógica del programa debe agregarse dentro del cuerpo de esta función.
  5. Cree una instancia de la clase fstream y asígnele el nombre my_file.
  6. Use la función open() para crear un nuevo archivo llamado my_file.txt. El archivo se abrirá en modo in para leerlo.
  7. Utilice una instrucción if para verificar si el archivo no existe.
  8. Texto para imprimir en la consola si no se encuentra el archivo.
  9. Fin del cuerpo de la sentencia if.
  10. Utilice una declaración else para indicar qué hacer si se encuentra el archivo.
  11. Cree una variable char llamada ch.
  12. Cree un ciclo while para iterar sobre el contenido del archivo.
  13. Escribe/almacena el contenido del archivo en la variable ch.
  14. Utilice una condición if y la función eof(), es decir, el final del archivo, para asegurarse de que el compilador siga leyendo el archivo si no se llega al final.
  15. Utilice una declaración de interrupción para detener la lectura del archivo una vez que se alcance el final.
  16. Imprime el contenido de la variable ch en la consola.
  17. Fin del cuerpo while.
  18. Fin del cuerpo de la sentencia else.
  19. Llama a la función close() para cerrar el archivo.
  20. El programa debe devolver valor al completarse con éxito.
  21. Fin del cuerpo de la función main().

Resumen:


Lenguaje C

  1. Manejo de archivos C
  2. Cómo inicializar RAM desde un archivo usando TEXTIO
  3. Manejo de excepciones de C++:ejemplo Try, Catch, throw
  4. Cómo escribir comentarios en programación C
  5. Java BufferedReader:cómo leer un archivo en Java con un ejemplo
  6. C - Archivos de encabezado
  7. Archivos y flujos de C++
  8. Manejo de señales C++
  9. Python - E/S de archivos
  10. ¿Qué es Micrómetro? | ¿Cómo se lee un micrómetro?
  11. ¿Qué es un archivo Mill?