##### cppreference.com

##### Search

Create account

##### Namespaces

- Page
- Discussion

##### Variants

##### Views

- View
- Edit
- History

##### Actions

# std::basic_streambuf::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()).

### [edit] Parameters

(none)

### [edit] Return value

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

### [edit] 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'

### [edit] See also

sbumpc | reads one character from the input sequence and advances the sequence (public member function) [edit]
snextc | advances the input sequence, then reads one character without advancing again (public member function) [edit]

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