std::basic_filebuf<CharT,Traits>:: underflow
|
protected
:
virtual int_type underflow ( ) |
||
Lee más datos en el área de entrada.
Se comporta como la clase base std :: basic_streambuf :: underflow , excepto que para leer los datos de la secuencia de caracteres asociada (el archivo) hacia el área de obtención, primero lee los bytes del archivo en un búfer temporal (asignado con el tamaño necesario), luego utiliza std :: codecvt :: in de la configuración regional establecida para convertir la representación externa (típicamente, multibyte) a la forma interna que luego se utiliza para poblar el área de obtención. La conversión puede omitirse si std :: codecvt :: always_noconv de la configuración regional devuelve true .
Contenidos |
Parámetros
(ninguno)
Valor de retorno
Traits :: to_int_type ( * gptr ( ) ) (el primer carácter de la secuencia pendiente) en caso de éxito, o Traits :: eof ( ) en caso de fallo.
Ejemplo
#include <fstream> #include <iostream> struct mybuf : std::filebuf { int underflow() { std::cout << "Before underflow(): size of the get area is " << egptr()-eback() << " with " << egptr()-gptr() << " read positions available\n"; int rc = std::filebuf::underflow(); std::cout << "underflow() returns " << rc << ".\nAfter the call, " << "size of the get area is " << egptr()-eback() << " with " << egptr()-gptr() << " read positions available\n"; return rc; } }; int main() { mybuf buf; buf.open("test.txt", std::ios_base::in); std::istream stream(&buf); while (stream.get()) ; }
Salida posible:
Before underflow(): size of the get area is 0 with 0 read positions available underflow() returns 73. After the call, size of the get area is 110 with 110 read positions available Before underflow(): size of the get area is 110 with 0 read positions available underflow() returns -1. After the call, size of the get area is 0 with 0 read positions available
Véase también
|
[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]
|
retorna el siguiente carácter disponible en la secuencia de entrada
(función miembro protegida virtual de
std::basic_stringbuf<CharT,Traits,Allocator>
)
|
|
[virtual]
|
lee un carácter de la secuencia de entrada sin avanzar el puntero siguiente
(función miembro protegida virtual de
std::strstreambuf
)
|
|
[virtual]
|
lee del archivo asociado y avanza el puntero siguiente en el área de obtención
(función miembro protegida virtual) |
|
[virtual]
|
escribe caracteres al archivo asociado desde el área de escritura
(función miembro protegida virtual) |
|
lee un carácter de la secuencia de entrada sin avanzar la secuencia
(función miembro pública de
std::basic_streambuf<CharT,Traits>
)
|