C++ streambuf - snextc



Description

It is used to advances the current position of the controlled input sequence to the next character, and returns that next character.

Declaration

Following is the declaration for std::basic_streambuf::snextc.

int_type snextc();

Parameters

none

Return Value

It returns the character at the next position of the controlled input sequence, converted to a value of type int_type using member traits_type::to_int_type.

Exceptions

Basic guarantee − if an exception is thrown, the stream buffer is in a valid state.

Data races

It modifies the stream buffer object.

Example

In below example explains about std::basic_streambuf::snextc.

#include <iostream>     
#include <fstream>      

int main () {

   std::ifstream istr ("sample.txt");
   if (istr) {
      std::streambuf * pbuf = istr.rdbuf();
      do {
         char ch = pbuf->sgetc();
         std::cout << ch;
      } while ( pbuf->snextc() != std::streambuf::traits_type::eof() );
      istr.close();
   }
   return 0;
}
streambuf.htm
Advertisements