std::basic_streambuf<CharT,Traits>:: sgetn, std::basic_streambuf<CharT,Traits>:: xsgetn
From cppreference.net
<
cpp
|
io
|
basic streambuf
|
std::
streamsize
sgetn
(
char_type
*
s,
std::
streamsize
count
)
;
|
(1) | |
|
protected
:
virtual std:: streamsize xsgetn ( char_type * s, std:: streamsize count ) ; |
(2) | |
1)
Llama a
xsgetn(s, count)
de la clase más derivada.
2)
Lee
count
caracteres de la secuencia de entrada y los almacena en un array de caracteres apuntado por
s
. Los caracteres se leen como si se realizaran llamadas repetidas a
sbumpc()
. Es decir, si hay menos de
count
caracteres disponibles inmediatamente, la función llama a
uflow()
para proporcionar más hasta que se devuelva
Traits
::
eof
(
)
.
Las clases derivadas de
std::basic_streambuf
tienen permitido proporcionar implementaciones más eficientes de esta función.
Contenidos |
Parámetros
| s | - | puntero al inicio de un array de tipo char_type |
| count | - | número máximo de caracteres a leer. |
Valor de retorno
El número de caracteres leídos exitosamente. Si es menor que
count
la secuencia de entrada ha llegado al final.
Notas
La regla sobre "implementaciones más eficientes" permite E/S en bloque sin almacenamiento intermedio: así es como
std::ifstream::read
simplemente pasa el puntero a la llamada al sistema POSIX
read()
en algunas implementaciones de iostreams
Ejemplo
|
Esta sección está incompleta
Motivo: sin ejemplo |
Véase también
|
invoca
xsputn
(
)
(función miembro pública) |