# std::basic_streambuf<CharT,Traits>::sgetc

From cppreference.com
< cpp‎ | io‎ | basic streambuf

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 sequence (public member function)
snextc | advances the input sequence, then reads one character without advancing again (public member function)

Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/io/basic_streambuf/sgetc&oldid=90519"