C ++ streambuf - sputc

Descripción

Se utiliza para almacenar el carácter en la posición actual de colocación y aumentar el puntero de colocación y el carácter c se almacena en la posición actual de la secuencia de salida controlada, y luego avanza el indicador de posición al siguiente carácter.

Declaración

A continuación se muestra la declaración de std :: streambuf :: sputc.

int sputc (char c);

Parámetros

c - Carácter para poner.

Valor devuelto

Vuelve para caso sucesivo, se devuelve el carácter puesto, como un valor de tipo int. De lo contrario, devuelve el valor de fin de archivo (EOF) para señalar una falla.

Excepciones

Basic guarantee - si se lanza una excepción, el búfer de flujo está en un estado válido.

Carreras de datos

Modifica el objeto de búfer de flujo.

Ejemplo

En el siguiente ejemplo se 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;
}

Compilemos y ejecutemos el programa anterior, esto producirá el siguiente resultado:

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