public member function
<istream> <iostream>

std::basic_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 characteres read: simplify


数据竞争

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

异常安全

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

另见