C ++ streambuf - sputbackc

Descrizione

Viene utilizzato per rimettere a posto il carattere e tenta di riportare l'indicatore della posizione corrente della sequenza di input controllata al carattere che precede quello corrente.

Dichiarazione

Di seguito è riportata la dichiarazione per std :: streambuf :: sputbackc.

int sputbackc (char c);

Parametri

c - Carattere da rimettere a posto.

Valore di ritorno

Restituisce il valore del carattere rimesso, come valore di tipo int.

Eccezioni

Basic guarantee - se viene generata un'eccezione, il buffer del flusso è in uno stato valido.

Gare di dati

Modifica l'oggetto buffer del flusso.

Esempio

Nell'esempio seguente viene illustrato lo std :: streambuf :: sputbackc.

#include <iostream>     
#include <cstdio>       

int main () {
   char ch;
   std::streambuf * pbuf = std::cin.rdbuf();

   std::cout << "Please, enter some letters and then a number: ";
   do {
      ch = pbuf->sbumpc();

      if ( (ch>='0') && (ch <='9') ) {
         pbuf->sputbackc (ch);
         long n;
         std::cin >> n;
         std::cout << "You entered number " << n << '\n';
         break;
      }
   } while ( ch != EOF );
   return 0;
}

Compiliamo ed eseguiamo il programma sopra, questo produrrà il seguente risultato:

Please, enter some letters and then a number: