std::ostrstream:: ostrstream
From cppreference.net
<
cpp
|
io
|
ostrstream
|
ostrstream
(
)
;
|
(1) |
(obsoleto en C++98)
(eliminado en C++26) |
|
ostrstream
(
char
*
s,
int
n,
std::
ios_base
::
openmode
mode
=
std::
ios_base
::
out
)
;
|
(2) |
(obsoleto en C++98)
(eliminado en C++26) |
Construye un nuevo strstream de salida y su subyacente std::strstreambuf .
1)
Construye por defecto el subyacente
std::strstreambuf
, lo cual crea un búfer de crecimiento dinámico, e inicializa la clase base con la dirección del miembro
strstreambuf
.
2)
Inicializó la clase base con la dirección del miembro subyacente
std::strstreambuf
, que se inicializa de una de las dos formas posibles, ambas escriben a un arreglo de tamaño fijo proporcionado por el usuario:
a)
si el bit
app
no está configurado en
mode
, construye el búfer llamando a
strstreambuf
(
s, n, s
)
. El comportamiento es indefinido si hay menos de
n
elementos en el array cuyo primer elemento está apuntado por
s
b)
si el bit
app
está establecido en
mode
, construye el búfer llamando a
strstreambuf
(
s, n, s
+
std::
strlen
(
s
)
)
. El comportamiento es indefinido si hay menos de
n
elementos en el array cuyo primer elemento está señalado por
s
o si el array no contiene una secuencia de caracteres válida terminada en nulo.
Parámetros
| s | - | array de caracteres a utilizar como búfer de salida | ||||||||||||||||
| n | - | tamaño del array a utilizar como búfer de salida | ||||||||||||||||
| mode | - |
especifica el modo de apertura del flujo. Es un tipo de máscara de bits, se definen las siguientes constantes (aunque solo se usa
app
):
|
Ejemplo
Ejecutar este código
#include <iostream> #include <strstream> int main() { std::ostrstream s1; // búfer dinámico s1 << 1 << ' ' << 3.14 << " example\n" << std::ends; std::cout << s1.str(); s1.freeze(false); char arr[15] = "Hello"; std::ostrstream s2(arr, sizeof arr, std::ios_base::app); s2 << ", world!" << std::ends; std::cout << s2.str() << '\n'; std::cout << arr << '\n'; // los streams utilizan los arrays proporcionados }
Salida:
1 3.14 example Hello, world! Hello, world!
Véase también
construye un objeto
strstreambuf
(función miembro pública de
std::strstreambuf
)
|
|
construye un objeto
istrstream
, opcionalmente asignando el búfer
(función miembro pública de
std::istrstream
)
|
|
construye un objeto
strstream
, opcionalmente asignando el búfer
(función miembro pública de
std::strstream
)
|