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

标签 c++ istream

std::istream 上的各种未格式化的输入函数(实际上是 std::basic_istream),例如 read()readsome()getline()ignore() 都返回一个流。处理结果时,了解实际读取了多少个字符通常很重要。依赖字符串中的空字符显然不适用于二进制文件或 ignore() ,它甚至不涉及任何字符串,即 strlen() 之类的东西完全没有问题。

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

最佳答案

使用gcount() member function basic_istream 基类的属性,用于检索上次未格式化输入操作获得的字符数。

关于c++ - 如何确定无格式输入函数读取的字符数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34386536/

相关文章:

c++ - boost::asio 阅读问题

c++ - istream streamsize 读取行错误

c++ - istream::operator>> 到字符串的确切机制

C++ 程序在向控制台输入时停止生成控制台输出

c++ - llvm::Module 是运算符 .* 和 ->* 的左侧

c++ - 我如何在 wxWidgets 中重定向标准输入(istream)?

c++ - 如何使用 libjpeg 从 std::istream 读取 JPEG?

c++ - 使用 getline 错误读取全局 istream*

c++ - 在 IsClassT<T> 中,为什么使用 "int C::*"?我对 int 类型感到困惑

c++ - 忽略头文件中的 main