public member function
<istream> <iostream>

std::istream::gcount

streamsize gcount() const;
获取字符计数
返回对该对象执行的最后一次 *未格式化输入操作* 所提取的字符数。

修改此函数返回值的 *未格式化输入操作* 包括:getgetlineignorepeekreadreadsomeputbackunget

请注意,peekputbackunget 实际上不会提取任何字符,因此调用其中任何一个后 gcount 始终返回零。

参数



返回值

最后一次未格式化输入操作提取的字符数。
streamsize 是一个带符号整型。

示例

1
2
3
4
5
6
7
8
9
10
11
12
// cin.gcount example
#include <iostream>     // std::cin, std::cout

int main () {
  char str[20];

  std::cout << "Please, enter a word: ";
  std::cin.getline(str,20);
  std::cout << std::cin.gcount() << " characters read: " << str << '\n';

  return 0;
}

可能的输出
Please, enter a word: simplify
9 characters read: simplify


数据竞争

访问流对象。
并发访问同一个流对象可能导致数据争用。

异常安全

强保证: 如果抛出异常,流不会发生任何改变。

另见