strstreambuf::strstreambuf
construye un objeto de strstreambufescrito.
explicit strstreambuf(
streamsize _Count = 0
);
strstreambuf(
void ( *_Allocfunc )( size_t ),
void ( *_Freefunc )( void * )
);
strstreambuf(
char *_Getptr,
streamsize _Count,
char *_Putptr = 0
);
strstreambuf(
signed char *_Getptr,
streamsize _Count,
signed char *_Putptr = 0
);
strstreambuf(
unsigned char *_Getptr,
streamsize _Count,
unsigned char *_Putptr = 0
);
strstreambuf(
const char *_Getptr,
streamsize _Count
);
strstreambuf(
const signed char *_Getptr,
streamsize _Count
);
strstreambuf(
const unsigned char *_Getptr,
streamsize _Count
);
Parámetros
_Allocfunc
La función utilizada para asignar memoria de búfer._Count
Determina la longitud de búfer indicada por _Getptr.Si _Getptr no es un argumento (el primer formulario de constructor), un tamaño sugerido de asignación para los búferes._Freefunc
la función utilizada para liberar memoria de búfer._Getptr
un búfer utilizado para la entrada._Putptr
un búfer utilizado para la salida.
Comentarios
El primer constructor almacena un puntero NULL en todos los punteros que controlan el búfer de entrada, el búfer de salida, y la asignación de strstreambuf.Establece el modo almacenado de strstreambuf para crear la secuencia controlada modificable y extensible.También acepta _Count como un tamaño inicial sugerido de asignación.
El segundo constructor se comporta como el primero, salvo que almacena el _Allocfunc como el puntero a función para llamar para asignar el almacenamiento y el _Freefunc como el puntero a función para llamar a para liberar el almacenamiento.
los tres constructores:
strstreambuf(char *_Getptr, streamsize count,
char *putptr = 0);
strstreambuf(signed char *_Getptr, streamsize count,
signed char *putptr = 0);
strstreambuf(unsigned char *_Getptr, streamsize count,
unsigned char *putptr = 0);
también se comportan como primer, salvo que _Getptr designa el objeto array utilizado para contener la secuencia controlada.(Hence, no debe ser un puntero NULL.) El número de n de los elementos de la matriz se determina de la siguiente manera:
Si (_Count > 0), la n es recuento.
si == de (_Count 0), entonces n es strlen((const char *)_Getptr ).
Si (_Count < 0), la n es INT_MAX.
Si _Putptr es un puntero NULL, la función establece únicamente un búfer de entrada ejecutando:
setg(_Getptr, _Getptr, _Getptr + N);
Si no, establezca entrada y los búferes de salida ejecutando:
setg(_Getptr, _Getptr, _Putptr);
setp(_Putptr, _Getptr + N);
en este caso, _Putptr debe estar en el intervalo [_Getptr, _Getptr + n].
Por último, los tres constructores:
strstreambuf(const char *_Getptr, streamsize _Count);
strstreambuf(const signed char *_Getptr, streamsize _Count);
strstreambuf(const unsigned char *_Getptr, streamsize _Count);
todos ellos se comportan de igual que:
streambuf( (char *)_Getptr, _Count );
salvo que el modo almacenado crea la secuencia controlada ni modificable ni extensible.
Requisitos
encabezado: <strstream>
espacio de nombres: std