strstreambuf::strstreambuf
Vytvoří objekt typu strstreambuf.
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
);
Parametry
_Allocfunc
Funkce slouží k přidělení vyrovnávací paměti._Count
Určuje délku vyrovnávací paměti, na kterou odkazuje _Getptr.Pokud _Getptr není argument (první konstruktoru form), navrhované rozdělení velikosti pro vyrovnávací paměť._Freefunc
Použitá funkce volného vyrovnávací paměti._Getptr
Vyrovnávací paměť pro vstup._Putptr
Vyrovnávací paměť pro výstup.
Poznámky
První konstruktoru ukládá všechny ukazatele řízení vstupní vyrovnávací paměti, výstupní vyrovnávací paměť a přidělení strstreambuf ukazatel s hodnotou null.Nastaví režim uložené strstreambuf aby řízené sekvenci upravitelné a prodloužit.Přijímá také _Count jako navrhované počáteční přidělovanou velikost.
Druhý konstruktor se chová jako první, s tím rozdílem, že ukládá _Allocfunc jako ukazatel funkce volání přidělení úložiště a _Freefunc jako ukazatel funkce volat Uvolněte úložiště.
Tři konstruktory:
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);
také se chovat jako první, s tím rozdílem, že _Getptr označuje objekt array, který je jímán řízené sekvenci. (Nesmí tedy být ukazatel s hodnotou null.) Počet prvků, N pole se určí takto:
If (_Count> 0), then N is count.
If (_Count == 0), then N is strlen( (const char *)_Getptr ).
If (_Count< 0), then N is INT_MAX.
Pokud _Putptr je nulový ukazatel funkce provedením vytváří pouze vstupní vyrovnávací paměti:
setg(_Getptr, _Getptr, _Getptr + N);
V opačném případě se stanoví vstupní a výstupní vyrovnávací paměti spuštěním:
setg(_Getptr, _Getptr, _Putptr);
setp(_Putptr, _Getptr + N);
In this case, _Putptrmust be in the interval _Getptr, _Getptr + N.
Nakonec tři konstruktory:
strstreambuf(const char *_Getptr, streamsize _Count);
strstreambuf(const signed char *_Getptr, streamsize _Count);
strstreambuf(const unsigned char *_Getptr, streamsize _Count);
všechny se chovají stejně jako:
streambuf( (char *)_Getptr, _Count );
Kromě toho, že uložené režimu umožňuje řízené sekvenci měnit ani prodloužit.
Požadavky
Záhlaví:<strstream>
Obor názvů: std