strstreambuf::strstreambuf
Tworzy obiekt 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
Funkcja używana przydzielić buforu pamięci._Count
Określa długość buforu wskazywanej przez _Getptr.Jeśli _Getptr nie jest to argument (formularz Konstruktor pierwszego), rozmiar sugerowane alokacji buforów._Freefunc
Funkcja pozwala zwolnić buforu pamięci._Getptr
Bufor używany do wprowadzania danych._Putptr
Bufor używany do produkcji.
Uwagi
Pierwszy konstruktora przechowuje wskaźnik null w wszystkie wskaźniki kontrolowanie buforu wejściowego, bufor wyjściowy i strstreambuf alokacji.Go Ustawia tryb przechowywane strstreambuf Aby modyfikować i rozszerzalne kontrolowanych sekwencji.Również akceptuje _Count jako sugerowana początkowy rozmiar alokacji.
Drugi konstruktor zachowuje się jak pierwszy, chyba że przechowuje on _Allocfunc jako wskaźnik do funkcji do wywołania przydzielić składowania i _Freefunc jako wskaźnik do funkcji do wywołania, aby zwolnić magazynu.
Trzy 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);
zachowują się jak pierwszy, z wyjątkiem _Getptr wyznacza obiekt array, używane do przechowywania sekwencji kontrolowane.(W związku z tym nie może być null wskaźnik.) Liczba elementów n w tablicy określa się następująco:
If (_Count > 0), then N is count.
If (_Count == 0), then N is strlen( (constchar *)_Getptr ).
If (_Count < 0), then N is INT_MAX.
Jeśli _Putptr jest wskaźnik null, funkcja ustanawia tylko bufor wejściowy przez wykonanie:
setg(_Getptr, _Getptr, _Getptr + N);
W przeciwnym razie ustanawia buforów wejścia i wyjścia, wykonując:
setg(_Getptr, _Getptr, _Putptr);
setp(_Putptr, _Getptr + N);
In this case, _Putptrmust be in the interval _Getptr, _Getptr + N.
Wreszcie trzy konstruktory:
strstreambuf(const char *_Getptr, streamsize _Count);
strstreambuf(const signed char *_Getptr, streamsize _Count);
strstreambuf(const unsigned char *_Getptr, streamsize _Count);
wszystkie działają tak samo, jak:
streambuf( (char *)_Getptr, _Count );
z wyjątkiem trybu przechowywane czyni sekwencji kontrolowanych, rozszerzalne ani modyfikowane.
Wymagania
Nagłówek: <strstream>
Obszar nazw: std