std::strstreambuf:: overflow
|
protected
:
virtual int_type overflow ( int_type c = EOF ) ; |
(obsoleto en C++98)
(eliminado en C++26) |
|
Añade el carácter c al área de escritura del búfer, reasignando si es posible.
palloc
en el constructor, esa función se llama con
(
*
palloc
)
(
n
)
donde
n
es el número de bytes a asignar, de lo contrario se utiliza
new
char
[
n
]
. Si se utilizó un puntero a la función de desasignación
pfree
en el constructor, esa función se llama con
(
*
pfree
)
(
p
)
para desasignar el arreglo anterior, si es necesario, de lo contrario se utiliza
delete
[
]
p
. Si la asignación falla, la función falla y retorna
EOF
.
Contenidos |
Parámetros
| c | - | el carácter a almacenar en el área de put |
Valor de retorno
Si c == EOF , retorna algún valor diferente de EOF . De lo contrario, retorna ( unsigned char ) ( c ) en caso de éxito, EOF en caso de fallo.
Ejemplo
#include <iostream> #include <strstream> struct mybuf : std::strstreambuf { int_type overflow(int_type c) { std::cout << "Before overflow(): size of the put area is " << epptr()-pbase() << " with " << epptr()-pptr() << " write positions available\n"; int_type rc = std::strstreambuf::overflow(c); std::cout << "After overflow(): size of the put area is " << epptr()-pbase() << " with " << epptr()-pptr() << " write positions available\n"; return rc; } }; int main() { mybuf sbuf; // read-write dynamic strstreambuf std::iostream stream(&sbuf); stream << "Sufficiently long string to overflow the initial allocation, at least " << " on some systems."; }
Salida posible:
Before overflow(): size of the put area is 16 with 0 write positions available After overflow(): size of the put area is 32 with 15 write positions available Before overflow(): size of the put area is 32 with 0 write positions available After overflow(): size of the put area is 64 with 31 write positions available Before overflow(): size of the put area is 64 with 0 write positions available After overflow(): size of the put area is 128 with 63 write positions available
Véase también
|
[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>
)
|
|
[virtual]
|
añade un carácter a la secuencia de salida
(función miembro protegida virtual de
std::basic_stringbuf<CharT,Traits,Allocator>
)
|
|
[virtual]
|
escribe caracteres al archivo asociado desde el área de escritura
(función miembro protegida virtual de
std::basic_filebuf<CharT,Traits>
)
|
|
escribe un carácter al área de escritura y avanza el siguiente puntero
(función miembro pública de
std::basic_streambuf<CharT,Traits>
)
|
|
|
inserta un carácter
(función miembro pública de
std::basic_ostream<CharT,Traits>
)
|