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

< cpp‎ | io‎ | basic streambuf

int_type sgetc(); |  |

从输入序列读取一个字符。

若输入序列读位置不可用，则返回 underflow() 。否则返回 Traits::to_int_type(*gptr()) 。

### 参数

（无）

### 返回值

获得指针所指向的字符的值。

### 示例

    #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";
    }

输出：

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

### 参阅

sbumpc stossc (C++17 中移除) | 从输入序列读取一个字符并令序列前进 (公开成员函数)
snextc | 令输入序列前进，读取一个字符而不再次前进 (公开成员函数)