Espacios de nombres
Variantes
Acciones

Biblioteca de entrada/salida

De cppreference.com
< cpp

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++20typedef basic_syncbuf<wchar_t> wsyncbuf;// C++20typedef basic_spanbuf<char> spanbuf;// C++23typedef 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++20typedef basic_osyncstream<wchar_t> wosyncstream;// C++20   typedef basic_ispanstream<char> ispanstream;// C++23typedef basic_ispanstream<wchar_t> wispanstream;// C++23typedef basic_ospanstream<char> ospanstream;// C++23typedef basic_ospanstream<wchar_t> wospanstream;// C++23typedef basic_spanstream<char> spanstream;// C++23typedef 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
streamposstd::fpos<std::char_traits<char>::state_type>
wstreamposstd::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.

close