std::basic_streambuf::setg
Da cppreference.com.
< cpp | io | basic streambuf
![]() |
Questa pagina è stata tradotta in modo automatico dalla versione in ineglese della wiki usando Google Translate.
La traduzione potrebbe contenere errori e termini strani. Muovi il puntatore sopra al testo per vedere la versione originale. Puoi aiutarci a correggere gli gli errori. Per ulteriori istruzioni clicca qui. |
void setg( char_type* gbeg, char_type* gcurr, char_type* gend ); |
||
Imposta i valori dei puntatori definiscono l'area get. In particolare, dopo la chiamata eback() == gbeg, gptr() == gcurr, egptr() == gend
Original:
Sets the values of the pointers defining the get area. Specifically, after the call eback() == gbeg, gptr() == gcurr, egptr() == gend
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
Indice |
[modifica] Parametri
gbeg | - | puntatore all'inizio della nuova zona get
Original: pointer to the new beginning of the get area The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
gcurr | - | puntatore al nuovo carattere attuale ( arrivare puntatore) nella zona get
Original: pointer to the new current character (get pointer) in the get area The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
gend | - | puntatore alla fine della nuova zona get
Original: pointer to the new end of the get area The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
[modifica] Valore di ritorno
(Nessuno)
Original:
(none)
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
[modifica] Esempio
#include <iostream> #include <sstream> class null_filter_buf : public std::streambuf { std::streambuf* src; char ch; // single-byte buffer protected: int underflow() { while( (ch= src->sbumpc()) == '\0') ; // skip zeroes setg(&ch, &ch, &ch+1); // make one read position available return ch; // may return EOF } public: null_filter_buf(std::streambuf* buf) : src(buf) { setg(&ch, &ch+1, &ch+1); // buffer is initially full } }; void filtered_read(std::istream& in) { std::streambuf* orig = in.rdbuf(); null_filter_buf buf(orig); in.rdbuf(&buf); for(char c; in.get(c); ) std::cout << c; in.rdbuf(orig); } int main() { char a[] = "This i\0s \0an e\0\0\0xample"; std::istringstream in(std::string(std::begin(a), std::end(a))); filtered_read(in); }
Output:
This is an example
[modifica] Vedi anche
riposiziona puntatori l'inizio, poi, e la fine della sequenza di emissione Original: repositions the beginning, next, and end pointers of the output sequence The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (protetto funzione membro) |