C++ streambuf - sgetc



Description

It is used to get current character and returns the character at the current position of the controlled input sequence, without modifying the current position.

Declaration

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

int_type sgetc();

Parameters

none

Return Value

It returns the character at the current 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::sgetc.

#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