Espacios de nombres
Variantes
Acciones

Biblioteca de entrada/salida

De cppreference.com
< cpp
 
 
Biblioteca de E/S
Manipuladores de E/S
E/S estilo C
Búferes
(en desuso en C++98)
Flujos
Abstracciones
E/S de archivos
E/S de cadenas
E/S de arrays
(en desuso en C++98)
(en desuso en C++98)
(en desuso en C++98)
Salida sincronizada
Tipos
Interfaz de categoría de error
(C++11)
 

C++ incluye dos bibliotecas de entrada/salida: una biblioteca de E/S moderna, basada en flujos, y el conjunto de funciones estándar de E/S estilo C.

Contenido

[editar] E/S basada en flujos

La biblioteca de entrada/salida basada en flujos se organiza en torno a dispositivos abstractos de entrada/salida. Estos dispositivos abstractos permiten que el mismo código maneje la entrada/salida a archivos, flujos de memoria o dispositivos adaptadores personalizados que realizan operaciones arbitrarias (p. ej., compresión) al instante.

La mayoría de las clases son plantillas, así que pueden adaptarse a cualquier tipo básico de carácter. Se proporcionan definiciones de tipo para los tipos básicos de carácter más comunes (char y wchar_t). Las clases se organizan en la siguiente jerarquía:

cpp/io/ios basecpp/io/basic ioscpp/io/basic istreamcpp/io/basic ifstreamcpp/io/basic istringstreamcpp/io/basic ostreamcpp/io/basic ofstreamcpp/io/basic ostringstreamcpp/io/basic fstreamcpp/io/basic stringstreamcpp/io/basic iostreamstd-io-complete-inheritance.svg
Acerca de esta imagen

Inheritance diagram

Abstracción
Definido en el archivo de encabezado <ios>
Maneja el formato de banderas y las excepciones de entrada/salida.
(clase) [editar]
Administra un búfer de flujo arbitrario.
(plantilla de clase) [editar]
Definido en el archivo de encabezado <streambuf>
Abstrae un dispositivo puro.
(plantilla de clase) [editar]
Definido en el archivo de encabezado <ostream>
Envuelve un dispositivo abstracto dado (std::basic_streambuf)
y proporciona una interfaz de salida de alto nivel.
(plantilla de clase) [editar]
Definido en el archivo de encabezado <istream>
Envuelve un dispositivo abstracto dado (std::basic_streambuf)
y proporciona una interfaz de entrada de alto nivel.
(plantilla de clase) [editar]
Envuelve un dispositivo abstracto dado (std::basic_streambuf)
y proporciona una interfaz de entrada/salida de alto nivel.
(plantilla de clase) [editar]
Implementación de E/S de archivos
Definido en el archivo de encabezado <fstream>
Implementa un dispositivo de archivo puro.
(plantilla de clase) [editar]
Implementa operaciones de entrada de flujo de archivo de alto nivel.
(plantilla de clase) [editar]
Implementa operaciones de salida de flujo de archivo de alto nivel.
(plantilla de clase) [editar]
Implementa operaciones de entrada/salida de flujo de archivo de alto nivel.
(plantilla de clase) [editar]
Implementación de E/S de cadenas
Definido en el archivo de encabezado <sstream>
Implementa un dispositivo de cadena puro.
(plantilla de clase) [editar]
Implementa operaciones de entrada de flujo de cadena de alto nivel.
(plantilla de clase) [editar]
Implementa operaciones de salida de flujo de cadena de alto nivel.
(plantilla de clase) [editar]
Implementa operaciones de entrada/salida de flujo de cadena de alto nivel.
(plantilla de clase) [editar]
Implementaciones de E/S de arrays
Definido en el archivo de encabezado <spanstream>
Implementa un dispositivo de búfer de caracteres sin formato.
(plantilla de clase) [editar]
Implementa operaciones de entrada de búfer de caracteres fijas.
(plantilla de clase) [editar]
Implementa operaciones de salida de búfer de caracteres fijas.
(plantilla de clase) [editar]
Implementa operaciones de entrada/salida de búfer de caracteres fijas.
(plantilla de clase) [editar]
Definido en el archivo de encabezado <strstream>
(en desuso en C++98)
Implementa un dispositivo de array de caracteres puro.
(clase) [editar]
(en desuso en C++98)
Implementa operaciones de entrada de arrays de caracteres.
(clase) [editar]
(en desuso en C++98)
Implementa operaciones de salida de arrays de caracteres.
(clase) [editar]
(en desuso en C++98)
Implementa operaciones de entrada/salida de arrays de caracteres.
(clase) [editar]
Salida sincronizada
Definido en el archivo de encabezado <syncstream>
Envoltorio de un dispositivo de salida sincronizado.
(plantilla de clase) [editar]
Envoltorio de flujo de salida sincronizado.
(plantilla de clase) [editar]

[editar] Definiciones de tipo

Se proporcionan las siguientes definiciones de tipo para tipos de cáracter comunes:

typedef basic_ios<char>                ios;
typedef basic_ios<wchar_t>            wios;
 
typedef basic_streambuf<char>     streambuf;
typedef basic_streambuf<wchar_t> wstreambuf;
typedef basic_filebuf<char>         filebuf;
typedef basic_filebuf<wchar_t>     wfilebuf;
typedef basic_stringbuf<char>     stringbuf;
typedef basic_stringbuf<wchar_t> wstringbuf;
typedef basic_syncbuf<char>         syncbuf; // C++20
typedef basic_syncbuf<wchar_t>     wsyncbuf; // C++20
typedef basic_spanbuf<char>         spanbuf; // C++23
typedef basic_spanbuf<wchar_t>     wspanbuf; // C++23
 
typedef basic_istream<char>         istream;
typedef basic_istream<wchar_t>     wistream;
typedef basic_ostream<char>         ostream;
typedef basic_ostream<wchar_t>     wostream;
typedef basic_iostream<char>       iostream;
typedef basic_iostream<wchar_t>   wiostream;
 
typedef basic_ifstream<char>       ifstream;
typedef basic_ifstream<wchar_t>   wifstream;
typedef basic_ofstream<char>       ofstream;
typedef basic_ofstream<wchar_t>   wofstream;
typedef basic_fstream<char>         fstream;
typedef basic_fstream<wchar_t>     wfstream;
 
typedef basic_istringstream<char>     istringstream;
typedef basic_istringstream<wchar_t> wistringstream;
typedef basic_ostringstream<char>     ostringstream;
typedef basic_ostringstream<wchar_t> wostringstream;
typedef basic_stringstream<char>       stringstream;
typedef basic_stringstream<wchar_t>   wstringstream;
 
typedef basic_osyncstream<char>     osyncstream; // C++20
typedef basic_osyncstream<wchar_t> wosyncstream; // C++20
 
typedef basic_ispanstream<char>     ispanstream; // C++23
typedef basic_ispanstream<wchar_t> wispanstream; // C++23
typedef basic_ospanstream<char>     ospanstream; // C++23
typedef basic_ospanstream<wchar_t> wospanstream; // C++23
typedef basic_spanstream<char>       spanstream; // C++23
typedef basic_spanstream<wchar_t>   wspanstream; // C++23

[editar] Objetos de flujo estándar predefinidos

Definido en el archivo de encabezado <iostream>
Lee del flujo de entrada estándar de C stdin.
(objeto global) [editar]
Escribe al flujo de salida estándar de C stdout.
(objeto global) [editar]
Escribe al flujo de error estándar de C stderr, sin búfer.
(objeto global) [editar]
Escribe al flujo de error estándar de C stderr.
(objeto global) [editar]

[editar] Manipuladores de E/S

La biblioteca de E/S basada en flujos utiliza manipuladores de E/S (p. ej., std::boolalpha, std::hex, etc.) para controlar cómo se comportan los flujos.

[editar] Tipos

Se definen los siguientes tipos auxiliares:

Definido en el archivo de encabezado <ios>
Representa la posición relativa en el archivo o flujo (desplazamiento desde fpos, suficiente para representar cualquier tamaño de archivo.
(typedef) [editar]
Representa el número de caracteres transferido en una operación de E/S o el tamaño de un búfer de E/S.
(typedef) [editar]
Representa una posición absoluta en un flujo o un archivo.
(plantilla de clase) [editar]

Se proporcionan las siguientes definiciones de tipo para {{c|std::fpos<std::mbstate_t>}:

Definido en el archivo de encabezado <iosfwd>
Tipo Definición
streampos std::fpos<std::char_traits<char>::state_type>
wstreampos std::fpos<std::char_traits<wchar_t>::state_type>
u8streampos (C++20) std::fpos<std::char_traits<char8_t>::state_type>
u16streampos (C++11) std::fpos<std::char_traits<char16_t>::state_type>
u32streampos (C++11) std::fpos<std::char_traits<char32_t>::state_type>

[editar] Interfaz de categoría de error

Definido en el archivo de encabezado <ios>
(C++11)
los códigos IO secuencia de error
Original:
the IO stream error codes
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(enum) [editar]
identifica la categoría de error iostream
Original:
identifies the iostream error category
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(función) [editar]

[editar] E/S estilo C

C++ también incluye las funciones de entrada/salida definidas por C, tales como std::fopen, std::getc, etc.