Administrar las operaciones de E/S de la consola en C++

Cada programa toma algunos datos como entrada y genera datos procesados ​​como salida siguiendo el ciclo familiar de proceso de entrada y salida. Es fundamental saber proporcionar los datos de entrada y presentar los resultados en la forma deseada. Ya se conoce el uso de cin y cout con el operador >> y << para las operaciones de entrada y salida . En este artículo, discutiremos cómo controlar la forma en que se imprime la salida.

C++ admite un amplio conjunto de funciones y operaciones de E/S . Estas funciones utilizan las funciones avanzadas de C++ , como clases , clases derivadas y funciones virtuales . También es compatible con todo el conjunto de funciones de E/S de C y, por lo tanto, se puede usar en programas de C++, pero su uso debe restringirse debido a dos razones.

  1. Los métodos de E/S en C++ admiten el concepto de programación orientada a objetos .
  2. Los métodos de E/S en C no pueden manejar el tipo de datos definido por el usuario, como clase y objeto .

Utiliza el concepto de flujo y clases de flujo para implementar sus operaciones de E/S con la consola y los archivos del disco.

Flujo de C++

El sistema de E/S en C++ está diseñado para funcionar con una amplia variedad de dispositivos, incluidos terminales, discos y unidades de cinta. Aunque cada dispositivo es muy diferente, el sistema de E/S proporciona una interfaz al programador que es independiente del dispositivo real al que se accede. Esta interfaz se conoce como flujo .

  • Un stream es una secuencia de bytes.
  • El flujo de origen que proporciona los datos al programa se denomina flujo de entrada.
  • El flujo de destino que recibe la salida del programa se denomina flujo de salida.
  • Los datos en el flujo de entrada pueden provenir del teclado o de cualquier otro dispositivo de entrada.
  • Los datos en el flujo de salida pueden ir a la pantalla o a cualquier otro dispositivo de salida.

C++ contiene varios flujos predefinidos que se abren automáticamente cuando un programa comienza su ejecución. Estos incluyen cin y cout . Se sabe que cin representa el flujo de entrada conectado al dispositivo de entrada estándar (generalmente el teclado) y cout representa el flujo de salida conectado al dispositivo de salida estándar (generalmente la pantalla).

Clases de flujo de C++ 

El sistema de E/S de C++ contiene una jerarquía de clases que se utilizan para definir varios flujos para tratar tanto con la consola como con los archivos del disco. Estas clases se denominan clases de flujo. La jerarquía de las clases de flujo utilizadas para las operaciones de entrada y salida es con la unidad de consola. Estas clases se declaran en el archivo de cabecera iostream . Este archivo debe estar incluido en todos los programas que se comunican con la unidad de consola.

C++

#include <iostream>
using namespace std;
  
int main()
{
  
    cout << " This is my first"
            " Blog on the gfg";
    return 0;
}
Producción:

This is my first Blog on the gfg

Los ios son la clase base para istream (flujo de entrada) y ostream (flujo de salida) que a su vez son clases base para iostream (flujo de entrada/salida). La clase ios se declara como la clase base virtual para que iostream herede solo una copia de sus miembros .

La clase ios proporciona el soporte básico para operaciones de E/S formateadas y no formateadas . La clase istream proporciona las facilidades de entrada formateada y sin formato, mientras que la clase ostream (a través de la herencia) proporciona las facilidades para la salida formateada.

La clase iostream proporciona las facilidades para manejar flujos de entrada y salida. Tres clases agregan una tarea a estas clases:

  • istream_withassign
  • ostream_withassign
  • iostream_withassign

Representación tabular de clases de flujo para la operación de la consola :

Nombre de la clase

Contenido

ios (clase de flujo de entrada/salida general)

  • Contiene instalaciones básicas que utilizan todas las demás clases de entrada y salida.
  • También contiene un puntero a un objeto de búfer (objeto streambuf )
  • Declara constantes y funciones que son necesarias para manejar operaciones formateadas de entrada y salida

istream (Flujo de entrada)

  • Hereda las propiedades de ios
  • Declara funciones de entrada como get(), getline() y read()
  • Contiene operador de extracción de sobrecarga >>

ostream (Flujo de salida)

iostream (Flujo de entrada/salida)

  • Hereda las propiedades de ios stream y ostream a través de herencias múltiples y, por lo tanto, contiene todas las funciones de entrada y salida.

Streambuf

  • Proporciona una interfaz para dispositivos físicos a través de búferes.
  • Actúa como una base para el archivo ios utilizado por la clase filebuf.

Publicación traducida automáticamente

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