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.