# std::basic_istream<CharT,Traits>::gcount

< cpp‎ | io‎ | basic istream

std::streamsize gcount() const; |  |

返回最近的无格式输入操作所提取的字符数，或若该数不可表示则返回 std::streamsize 的最大可表示值。

`basic_istream` 的下列成员函数更改后继的 `gcount()` 调用的值：

- 移动构造函数
- swap()
- get()
- getline()
- ignore()
- read()
- readsome()
- operator>>(basic_streambuf*)

下列函数设置 `gcount()` 为零：

- 构造函数
- putback()
- unget()
- peek()

### 参数

（无）

### 返回值

最近的无格式输入操作所提取的字符数，或若该数不可表示则返回 std::streamsize 的最大可表示值。

### 示例

    #include <iostream>
    #include <sstream>

    int main()
    {
        char x[20];
        std::istringstream stream("Hello World");

        stream.read(x, sizeof x);
        std::cout << "Characters extracted: " << stream.gcount();
    }

输出：

    Characters extracted: 11

### 缺陷报告

下列更改行为的缺陷报告追溯地应用于以前出版的 C++ 标准。

DR | 应用于 | 出版时的行为 | 正确行为
--- | --- | --- | ---
LWG 3464 | C++98 | 结果溢出时返回值未指定 | 返回最大值