entrada y salida en c++
1.
2.
3.
4.
Gestión de E/S.
Clases básicas.
E/S estándar.
Manejo de ficheros.
Lenguaje C++. Leng. Prog. II. Filiberto Pla y Jorge Badenas.
Gestión de Entrada/Salida
•
•
•
Principios generales (objetivos):
– Independencia y transparencia entre
recursos, emisores y receptores de
información.
– No aparezcan parámetros físicos.
– Sencillo,eficiente, flexible, seguro y
completo.
En P.O. debe manejar datos básicos y
estructurados:
– conversión objetos en información
comprensible y accesible desde los
diferentes centros emisores y receptores.
Mecanismo de E/S en P.O. se divide en:
– Salida: conversión a entidades externas:
usuario, otra aplicación, máquinas, etc.
– Entrada: inversa de la salida.
– Formato E/S:especificaciones de formato
y estructura que se captura desde o se
emite al exterior.
– Ficheros y Flujos: tratamiento
especializado de dispositivos y ficheros.
Lenguaje C++. Leng. Prog. II. Filiberto Pla y Jorge Badenas.
122
Gestión de Entrada/Salida en C++
•
•
En C:
–
–
En C++:
–
–
–
–
•
Funciones de E/S complicadas y con
importantes deficiencias.
No efectúancomprobación de tipos.
Funciones E/S, biblioteca iostream.h
Comprobación de los tipos de datos.
Tratamiento uniforme de los tipos de
datos y clases de objetos.
Mecanismos para crear nuevas funciones
de E/S para dispositivos no estándar, con
mismo tipo de tratamiento.
El concepto de stream en C++:
–
–
–
–
flujo de datos desde un origen (entrada)
a un destino (salida).
Permitealmacenamiento en una salida o
extracción desde una entrada.
Se asocian a dispositivos físicos o
ficheros.
Operadores inserción >:
• Sobrecarga de operadores >.
Lenguaje C++. Leng. Prog. II. Filiberto Pla y Jorge Badenas.
123
Gestión de Entrada/Salida en C++
•
Clases básicas:
ios
istream
ostream
iostream
•
Clase ios contiene:
–
–
•
puntero a objetobuffer de
almacenamiento temporal.
constantes y variables de formato de
E/S y de error.
Clase iostream y ostream:
–
definen funciones para entrada y salida
con formato, respectivamente.
Lenguaje C++. Leng. Prog. II. Filiberto Pla y Jorge Badenas.
124
Gestión de Entrada/Salida en C++
•
E/S estándar en C++:
–
–
–
Entrada estándar:
• Representa al dispositivode entrada
por defecto, generalmente el teclado.
• El stream asociado es cin, de la clase
istream.
Salida estándar:
• Representa al dispositivo de salida
por defecto, generalmente la pantalla.
• El stream asociado es cout, de la
clase ostream.
Salida de error:
• Representa al dispositivo de salida
por defecto donde se envían los
mensajes de error, generalmente la
pantalla.
• Losstreams asociados son cerr y
clog, de la clase ostream.
Lenguaje C++. Leng. Prog. II. Filiberto Pla y Jorge Badenas.
125
Gestión de Entrada/Salida en C++
•
Parámetros y flags de formato:
– ios define una variable que agrupa 15 bits
–
de estado de formato.
ios proporciona 15 constantes que
permiten diferenciar los bits de formato:
Flag
Bit Field--------------------------------ios::left
ios::adjustfield
ios::right
ios::internal
--------------------------------ios::dec
ios::basefield
ios::oct
ios::hex
--------------------------------ios::scientific
ios::floatfield
ios::fixed
--------------------------------ios::skipws
se ignoran espacios en blanco
ios::showbase
muestra indicador de la base
ios::uppercase X y E mayúsculas
ios::showpoint 0.1 y2.0 en lugar de .1 y 2.
ios::unitbuf se vacía buffer S tras cada inserción
ios::showpos
muestra el signo positivo
ios::stdio
compatibilidad con E/S de C
---------------------------------
Lenguaje C++. Leng. Prog. II. Filiberto Pla y Jorge Badenas.
126
Gestión de Entrada/Salida en C++
•
Establecimiento del formato con
funciones:
Función
(consulta/cambio)
Ejemplo...
Regístrate para leer el documento completo.