C ++ streambuf - sputc

La description

Il est utilisé pour stocker le caractère à la position de mise actuelle et augmenter le pointeur de mise et le caractère c est stocké à la position actuelle de la séquence de sortie contrôlée, puis fait avancer l'indicateur de position au caractère suivant.

Déclaration

Voici la déclaration de std :: streambuf :: sputc.

int sputc (char c);

Paramètres

c - Caractère à mettre.

Valeur de retour

Il retourne pour des cas successifs, le caractère put est retourné, sous la forme d'une valeur de type int. Sinon, il renvoie la valeur de fin de fichier (EOF) pour signaler un échec.

Des exceptions

Basic guarantee - si une exception est levée, le tampon de flux est dans un état valide.

Courses de données

Il modifie l'objet de tampon de flux.

Exemple

L'exemple ci-dessous explique à propos de 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;
}

Compilons et exécutons le programme ci-dessus, cela produira le résultat suivant -

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