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