std:: basic_filebuf
|
Definido en el encabezado
<fstream>
|
||
|
template
<
class
CharT,
|
||
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) |
|
(C++26)
|
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
|
(C++11)
|
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) |