C ++ streambuf - sputc

Descrição

É usado para armazenar o caractere na posição de colocação atual e aumentar o ponteiro de colocação e o caractere c é armazenado na posição atual da sequência de saída controlada e, em seguida, avança o indicador de posição para o próximo caractere.

Declaração

A seguir está a declaração para std :: streambuf :: sputc.

int sputc (char c);

Parâmetros

c - Caráter a ser colocado.

Valor de retorno

Ele retorna para casos sucessivos, o caractere put é retornado, como um valor do tipo int. Caso contrário, ele retorna o valor de fim de arquivo (EOF) para sinalizar uma falha.

Exceções

Basic guarantee - se uma exceção for lançada, o buffer de fluxo está em um estado válido.

Corridas de dados

Ele modifica o objeto de buffer de fluxo.

Exemplo

No exemplo a seguir, explica sobre 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;
}

Vamos compilar e executar o programa acima, isso produzirá o seguinte resultado -

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