std::basic_streambuf::sgetc(3)

NAME
std::basic_streambuf::sgetc - std::basic_streambuf::sgetc

Synopsis
   int_type sgetc();
   Reads one character from the input sequence.
   If the input sequence read position is not available, returns underflow(). Otherwise
   returns Traits::to_int_type(*gptr()).

Parameters
   (none)

Return value
   The value of the character pointed to by the get pointer.

Example
// Run this code
 #include <iostream>
 #include <sstream>
 int main()
 {
     std::stringstream stream("Hello, world");
     std::cout << "sgetc() returned '" << (char)stream.rdbuf()->sgetc() << "'\n";
     std::cout << "peek() returned '" << (char)stream.peek() << "'\n";
     std::cout << "get() returned '" << (char)stream.get() << "'\n";
 }

Output:
 sgetc() returned 'H'
 peek() returned 'H'
 get() returned 'H'

See also
   sbumpc reads one character from the input sequence and advances the
   stossc sequence
   (removed in C++17) (public member function)
                      advances the input sequence, then reads one character without
   snextc advancing again
                      (public member function)