C++ istream:gcount() 是否总是在 read() 之后设置,即使它失败了
C++ istream: Is gcount() always set after a read() even if it fails?
我正在使用istream和read()
读取一些数据。我想知道我是否可以只测试gcount()
的字节,或者我是否需要在调用gcount()
之前测试good()
、eof()
等的某种组合。换句话说,即使由于EOF或其他内部问题导致读取失败,gcount()
是否总是在read()
之后设置?
此外,如果这在标准中或您可以引用的地方进行了描述。我使用 cplusplus.com 作为参考,它说gcount
"返回对对象执行的最后一个无格式输入操作提取的字符数"。 无论结果如何,我是否可以将"上次操作"之类的语句解释为表示上次操作?
gcount()
是否总是在read()
后设置,即使由于EOF
或其他一些内部问题导致读取失败?
是的
gcount()
的工作只是返回从最后一个无格式输入操作中提取的字符数。该标准没有区分提取成功和失败时的gcount()
值。显然,如果输入操作无法提取字符,则该值将0
。
因此,您只需要将其用作条件即可测试提取是否成功。仅当希望确定是否提取了一定数量的字符时,才在条件中使用gcount()
。
相关文章:
- 为不同配置设置MSVC_RUNTIME_LIBRARY的正确方法是什么
- 在C++/Linux中设置单调时钟的一些技巧
- 为什么在popback()操作之后,它仍然打印完整的矢量
- 使用构造函数初始化结构还是在之后设置其值更好?
- 如何在构造函数之后设置引用?
- 如何在cmake中的源文件之后设置库标志?
- 如何在 9 位整数中的所有"1"之后快速设置 64 位
- 执行QACTION之后如何设置焦点
- 如何在FFT之后设置我的数组的频带
- C ,在平方支架设置器之后采取行动
- 我正在尝试在Eclipse中构建一个C 项目,但是即使在使用MINGW路径设置路径变量之后,也会获得构建错误
- 范围之后,在Lambda中设置的共享指针
- 在设置QStylesHeet之后,如何获得Qwidget背景色
- 解码H264/RTSP流之后未设置PT
- C++ istream:gcount() 是否总是在 read() 之后设置,即使它失败了
- 获取 ISO 8601 时间戳 C++ 之前和之后的设置时间
- Cocos2dx.如何在动画序列之后设置回调(传递参数)
- 如何在循环之后设置断点
- 信号编辑文本已更改为可编辑的QComboBox设置光标位置在设置编辑文本之后的末尾
- Qt不能按名称插槽,即使在objectName设置之后