Namespaces
Variants

std:: basic_filebuf

From cppreference.net
< cpp ‎ | io
Definido en el encabezado <fstream>
template <

class CharT,
class Traits = std:: char_traits < CharT >

> class basic_filebuf : public std:: basic_streambuf < CharT, Traits >

std::basic_filebuf es un std::basic_streambuf cuya secuencia de caracteres asociada es un archivo. Tanto la secuencia de entrada como la secuencia de salida están asociadas al mismo archivo, y se mantiene una posición de archivo conjunta para ambas operaciones. Las restricciones sobre leer y escribir una secuencia con std::basic_filebuf son las mismas que para std::FILE s.

Las funciones underflow() y overflow() / sync() realizan la E/S real entre el archivo y las áreas de obtención y colocación del búfer. Cuando CharT no es char , la mayoría de las implementaciones almacenan caracteres multibyte en el archivo y se utiliza una faceta std::codecvt para realizar la conversión entre caracteres anchos y multibyte.

Se proporcionan varios typedefs para tipos de caracteres comunes:

Definido en el encabezado <fstream>
Tipo Definición
std::filebuf std :: basic_filebuf < char >
std::wfilebuf std :: basic_filebuf < wchar_t >

Contenidos

Tipos de miembros

Tipo Definición
char_type CharT
traits_type Traits ; el programa está mal formado si Traits::char_type no es CharT .
int_type Traits::int_type
pos_type Traits::pos_type que debe ser std:: fpos < Traits :: state_type >
off_type Traits::off_type
native_handle_type (C++26) tipo definido por la implementación que es TriviallyCopyable y semiregular

Funciones miembro

Funciones miembro públicas

construye un objeto basic_filebuf
(función miembro pública)
(C++11)
asigna un objeto basic_filebuf
(función miembro pública)
(C++11)
intercambia dos objetos basic_filebuf
(función miembro pública)
devuelve el manejador subyacente definido por la implementación
(función miembro pública)
[virtual]
destruye un objeto basic_filebuf y cierra el archivo si está abierto
(función miembro pública virtual)
verifica si el archivo asociado está abierto
(función miembro pública)
abre un archivo y lo configura como la secuencia de caracteres asociada
(función miembro pública)
vacía el búfer del área de escritura y cierra el archivo asociado
(función miembro pública)

Funciones miembro protegidas

[virtual]
opcionalmente proporciona el número de caracteres disponibles para entrada desde el archivo
(función miembro protegida virtual)
[virtual]
lee desde el archivo asociado
(función miembro protegida virtual)
[virtual]
lee desde el archivo asociado y avanza el siguiente puntero en el área de lectura
(función miembro protegida virtual)
[virtual]
retrocede la secuencia de entrada para devolver un carácter, sin afectar el archivo asociado
(función miembro protegida virtual)
[virtual]
escribe caracteres en el archivo asociado desde el área de escritura
(función miembro protegida virtual)
[virtual]
proporciona un búfer suministrado por el usuario o convierte este filebuf en no almacenado en búfer
(función miembro protegida virtual)
[virtual]
reubica la posición del archivo, usando direccionamiento relativo
(función miembro protegida virtual)
[virtual]
reubica la posición del archivo, usando direccionamiento absoluto
(función miembro protegida virtual)
[virtual]
escribe caracteres en el archivo asociado desde el área de escritura
(función miembro protegida virtual)
[virtual]
cambia la configuración regional asociada
(función miembro protegida virtual)

Funciones no miembro

especializa el algoritmo std::swap
(plantilla de función)

Heredado de std:: basic_streambuf

Tipos de miembros

Tipo de miembro Definición
char_type CharT
traits_type Traits ; el programa está mal formado si Traits::char_type no es CharT .
int_type Traits::int_type
pos_type Traits::pos_type
off_type Traits::off_type

Funciones miembro

[virtual]
destruye el objeto basic_streambuf
(función miembro pública virtual de std::basic_streambuf<CharT,Traits> )
Locales
cambia la configuración regional asociada e invoca imbue ( )
(función miembro pública de std::basic_streambuf<CharT,Traits> )
obtiene una copia de la configuración regional asociada
(función miembro pública de std::basic_streambuf<CharT,Traits> )
Posicionamiento
invoca setbuf ( )
(función miembro pública de std::basic_streambuf<CharT,Traits> )
invoca seekoff ( )
(función miembro pública de std::basic_streambuf<CharT,Traits> )
invoca seekpos ( )
(función miembro pública de std::basic_streambuf<CharT,Traits> )
invoca sync ( )
(función miembro pública de std::basic_streambuf<CharT,Traits> )
Área de obtención
obtiene el número de caracteres inmediatamente disponibles en el área de obtención
(función miembro pública de std::basic_streambuf<CharT,Traits> )
avanza la secuencia de entrada, luego lee un carácter sin avanzar nuevamente
(función miembro pública de std::basic_streambuf<CharT,Traits> )
(eliminado en C++17)
lee un carácter de la secuencia de entrada y avanza la secuencia
(función miembro pública de std::basic_streambuf<CharT,Traits> )
lee un carácter de la secuencia de entrada sin avanzar la secuencia
(función miembro pública de std::basic_streambuf<CharT,Traits> )
invoca xsgetn ( )
(función miembro pública de std::basic_streambuf<CharT,Traits> )
Área de escritura
escribe un carácter en el área de escritura y avanza el siguiente puntero
(función miembro pública de std::basic_streambuf<CharT,Traits> )
invoca xsputn ( )
(función miembro pública de std::basic_streambuf<CharT,Traits> )
Reinserción
devuelve un carácter a la secuencia de entrada
(función miembro pública de std::basic_streambuf<CharT,Traits> )
mueve el siguiente puntero en la secuencia de entrada hacia atrás una posición
(función miembro pública de std::basic_streambuf<CharT,Traits> )

Funciones miembro protegidas

construye un objeto basic_streambuf
(función miembro protegida)
(C++11)
reemplaza un objeto basic_streambuf
(función miembro protegida)
(C++11)
intercambia dos objetos basic_streambuf
(función miembro protegida)
Configuraciones Regionales
[virtual]
reacciona a un cambio de la configuración regional asociada
(función miembro protegida virtual de std::basic_streambuf<CharT,Traits> )
Posicionamiento
[virtual]
reemplaza el búfer con un arreglo definido por el usuario, si está permitido
(función miembro protegida virtual de std::basic_streambuf<CharT,Traits> )
[virtual]
reposiciona el siguiente puntero en la secuencia de entrada, secuencia de salida, o ambas, usando direccionamiento relativo
(función miembro protegida virtual de std::basic_streambuf<CharT,Traits> )
[virtual]
reposiciona el siguiente puntero en la secuencia de entrada, secuencia de salida, o ambas usando direccionamiento absoluto
(función miembro protegida virtual de std::basic_streambuf<CharT,Traits> )
[virtual]
sincroniza los búferes con la secuencia de caracteres asociada
(función miembro protegida virtual de std::basic_streambuf<CharT,Traits> )
Obtener área
[virtual]
obtiene el número de caracteres disponibles para entrada en la secuencia de entrada asociada, si se conoce
(función miembro protegida virtual de std::basic_streambuf<CharT,Traits> )
[virtual]
lee caracteres de la secuencia de entrada asociada al área de obtención
(función miembro protegida virtual de std::basic_streambuf<CharT,Traits> )
[virtual]
lee caracteres de la secuencia de entrada asociada al área de obtención y avanza el siguiente puntero
(función miembro protegida virtual de std::basic_streambuf<CharT,Traits> )
[virtual]
lee múltiples caracteres de la secuencia de entrada
(función miembro protegida virtual de std::basic_streambuf<CharT,Traits> )
devuelve un puntero al inicio, al carácter actual y al final del área de obtención
(función miembro protegida)
avanza el siguiente puntero en la secuencia de entrada
(función miembro protegida)
reposiciona los punteros de inicio, siguiente y fin de la secuencia de entrada
(función miembro protegida)
Área de put
[virtual]
escribe múltiples caracteres en la secuencia de salida
(función miembro protegida virtual de std::basic_streambuf<CharT,Traits> )
[virtual]
escribe caracteres a la secuencia de salida asociada desde el área de escritura
(función miembro protegida virtual de std::basic_streambuf<CharT,Traits> )
devuelve un puntero al inicio, al carácter actual y al final del área de escritura
(función miembro protegida)
avanza el puntero siguiente de la secuencia de salida
(función miembro protegida)
reposiciona los punteros de inicio, siguiente y fin de la secuencia de salida
(función miembro protegida)
Putback
[virtual]
coloca un carácter de vuelta en la secuencia de entrada, posiblemente modificando la secuencia de entrada
(función miembro protegida virtual de std::basic_streambuf<CharT,Traits> )

Notas

Macro de prueba de características Valor Estándar Característica
__cpp_lib_fstream_native_handle 202306L (C++26) Soporte para manejadores nativos

Véase también

tipo de objeto, capaz de contener toda la información necesaria para controlar un flujo de E/S de C
(typedef)