EVAP2 IIME - 3

La iostream
La iostream es la biblioteca estándar en C++ para poder tener acceso a los dispositivos estándar de entrada y/o salida. En sus programas, si usted desea hacer uso de los objetos cin, cout, cerr y clog tendrá que incluir (por medio de la directiva #include  el uso de la biblioteca iostream. En la iostream se encuentran definidas las clases ios (misma que es la base para las clases que implementen operaciones de entrada y/o salida de datos), istream (para operaciones de entrada) y ostream (para operaciones de salida). Aparte de las clases mencionadas, en la iostream se encuentra una lista de variables y constantes (atributos) que son accesibles por el usuario a través del operador de ámbito.

Streams automáticos
Si usted usa la directiva #include <iostream.h> o #include <iostream> en sus programas, automáticamente la iostream pone a su disposición los objetos cin, cout, clog y cerr en el ámbito estándar (std), de tal manera que usted puede comenzar a enviar o recibir información a través de los mismos sin siquiera preocuparse de su creación. Asi, un sencillo ejemplo del uso de los objetos mencionados se muestra en seguida.

https://drive.google.com/file/d/0B4PQYmtzOWwkbU9TZm1BNmZtS3M/edit?usp=sharing

Operadores de direccionamiento
Los operadores de direccionamiento son los encargados de manipular el flujo de datos desde o hacia el dispositivo referenciado por un stream específico. El operador de direccionamiento para salidas es una pareja de símbolos de "menor que" <<, y el operador de direccionamiento para entradas es una pareja de símbolos de "mayor que" >>. Los operadores de direccionamiento se colocan entre dos operandos, el primero es el Stream y el segundo es una variable o constante que proporciona o recibe los datos de la operación. Por ejemplo, en el siguiente programa y en la instrucción cout << "Entre su nombre: "; la constante "Entre su nombre: " es la fuente o quien proporciona los datos para el objeto cout. Mientras que en la instrucción cin >> nombre la variable nombre es el destino o quien recibe los datos provenientes del objeto cin.

https://drive.google.com/file/d/0B4PQYmtzOWwkZG5ReHc1WDl5QnM/edit?usp=sharing

Observe que si en una misma línea de comando se desea leer o escribir sobre varios campos a la vez, no es necesario nombrar más de una vez al stream. Ejemplos:

cout << "Hola," << nombre;

cin >> A >> B >> C;


Banderas de I/O
En esta sección abordaremos de manera más directa el tema sobre el control de formato para los stream de C++. Específicamente, veremos las tres diferentes formas que existen en C++ para manipular las banderas relacionadas a los stream y que nos permitirán gobernar de una manera más precisa la forma para representar datos de salida. En ese sentido, veremos que la primera de las forma que nos permitirá el formateo sera a través de las funciones flags(), setf() y unsetf(), la segunda y la tercera forma las encontraremos en ciertos manipuladores directos definidos en las bibliotecas <iostream> y <iomanip>.

Banderas de formato:[editar]
C++ define algunas banderas de formato para entradas y salidas estándar, las cuales pueden ser manipuladas a través de la funciones (métodos) flags(), setf(), y unsetf(). Por ejemplo,

cout.setf(ios::left);
activa la justificación a la izquierda para todas las salidas dirigidas hacia cout.
A continuación se muestra una tabla de referencia de las banderas de I/O.

Tabla I/O : 02, banderas de formato
Bandera
Descripción
boolalpha
Los valores booleanos pueden ser leídos/escritos usando las palabras "true" y "false"
dec
Los valores numéricos se muestran en formato decimal
fixed
Números de punto flotante se despliegan en forma normal
hex
Los valores numéricos se muestran en formato hexadecimal
left
La salida es justificada por la izquierda
oct
Los valores numéricos se muestran en formato octal
right
La salida es justificada por la derecha
scientific
Números de punto flotante se despliegan en notación científica
showbase
Despliega la base de todos los valores numéricos
showpoint
Despliega el punto decimal y extra ceros, aún cuando no sean
necesarios
showpos
Despliega el símbolo de más antes de valores positivos
skipws
Descarta caracteres de espaciado (espacios, tabuladores, nuevas líneas) cuando se lee desde un stream
unitbuf
Descarga el buffer después de cualquier inserción
uppercase
Despliega la "e" en notaciones científicas y la "x" en notaciones decimales como letras mayúsculas


Manipulando la lista de banderas de I/O de C++ (mostrada arriba) se pueden controlar los aspectos relacionados a la forma con la cual se desean presentar los datos en la salida. Por ejemplo, el programa que se muestra en seguida, activa la bandera boolalpha para mostrar los resultados de operaciones booleanas como "true" o "false" en lugar de "0" o "1" como es lo normal.



No hay comentarios.:

Publicar un comentario