C ++ streambuf - sputc

Descrizione

Viene utilizzato per memorizzare il carattere nella posizione put corrente e aumentare il puntatore put e il carattere c viene memorizzato nella posizione corrente della sequenza di output controllata, quindi fa avanzare l'indicatore di posizione al carattere successivo.

Dichiarazione

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

int sputc (char c);

Parametri

c - Carattere da mettere.

Valore di ritorno

Restituisce per caso successivo, viene restituito il carattere put, come valore di tipo int. In caso contrario, restituisce il valore di fine file (EOF) per segnalare un errore.

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 spiegato lo std :: streambuf :: sputc.

#include <iostream>     
#include <fstream>      

int main () {
   char ch;
   std::ofstream ostr ("test.txt");
   if (ostr) {
      std::cout << "Writing to file. Type a dot (.) to end.\n";
      std::streambuf * pbuf = ostr.rdbuf();
      do {
         ch = std::cin.get();
         pbuf->sputc(ch);
      } while (ch!='.');
      ostr.close();
   }
   return 0;
}

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

Writing to file. Type a dot (.) to end.