关于c ++:如何确定无格式输入函数读取的字符数?

How to determine the number of characters read by unformatted input functions?

std::istream上的各种无格式输入函数(实际上,是std::basic_istream,如read()readsome()getline()ignore()都返回流。在处理结果时,通常需要知道实际读取了多少字符。依赖字符串中的空字符显然对二进制文件或甚至不涉及任何字符串的ignore()都不起作用,例如,像strlen()这样的东西完全是不可能的。

如何确定最后一次使用std::istream或更一般地说,std::basic_istream的无格式输入操作读取的字符数?


使用basic_istream基类的gcount()成员函数来检索最后一个未格式化输入操作获得的字符数。