std::ios_base::iostate

来自cppreference.com
< cpp‎ | io‎ | ios base

typedef /*implementation defined*/ iostate;
static constexpr iostate goodbit = 0;
static constexpr iostate badbit = /*implementation defined*/

static constexpr iostate failbit = /*implementation defined*/

static constexpr iostate eofbit = /*implementation defined*/
指定流的状态标志。这是一个BitmaskType,下面的常量定义
原文:
Specifies stream state flags. It is a BitmaskType, the following constants are defined:
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。
常量 解释
goodbit 无错误
badbit 不可恢复的流错误
failbit 输入/输出操作失败(格式化或提取错误)
eofbit 关联的输出序列已抵达文件尾

目录

[编辑] eofbit

以下标准库函数:eofbit设置
原文:
The eofbit is set by the following standard library functions:
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。
  • 如果它完成的字符串输入功能std::getline到达流的末尾,而不是到达指定的终止字符.
    原文:
    The string input function std::getline if it completes by reaching the end of the stream, as opposed to reaching the specified terminating character.
    文本通过谷歌翻译机器翻译。
    你可以帮忙校正和验证翻译。点击此处查看指示。
  • 数字输入过载时遇到的basic_istream::operator>>流的末尾,如果读取一个字符,第2阶段num_get::get处理。 failbit根据解析状态,可能会或可能不会被设置在相同的时间:例如,int n; istringstream buf("1"); buf >> n;eofbit,但不failbit​​:整数1成功解析并存储在n。另一方面,bool b; istringstream buf("tr"); buf >> boolalpha >> b;设置eofbitfailbit:没有足够的字符来完成解析的布尔true.
    原文:
    The numeric input overloads of basic_istream::operator>> if the end of the stream was encountered while reading the next character, on Stage 2 of num_get::get processing. Depending on the parsing state, failbit may or may not be set at the same time: for example, int n; istringstream buf("1"); buf >> n; sets eofbit, but not failbit: the integer 1 was successfully parsed and stored in n. On the other hand, bool b; istringstream buf("tr"); buf >> boolalpha >> b; sets both eofbit and failbit: there was not enough characters to complete the parsing of the boolean true.
    文本通过谷歌翻译机器翻译。
    你可以帮忙校正和验证翻译。点击此处查看指示。
  • 的字符提取重载operator>>std::basic_istream,如果最终的数据流要被提取的字符的数目的限制(如有的话)之前到达.
    原文:
    The character extraction overloads of operator>>std::basic_istream, if the end of the stream is reached before the limit (if any) on the number of characters to be extracted.
    文本通过谷歌翻译机器翻译。
    你可以帮忙校正和验证翻译。点击此处查看指示。
  • I / O的std::get_time机械手和std::time_get解析函数:time_get::gettime_get::get_timetime_get::get_date等,如果流的末尾,达到之前的最后一个字符需要分析处理预期的日期/时间值.
    原文:
    The std::get_time I/O manipulator and any of the std::time_get parsing functions: time_get::get, time_get::get_time, time_get::get_date, etc., if the end of the stream is reached before the last character needed to parse the expected date/time value was processed.
    文本通过谷歌翻译机器翻译。
    你可以帮忙校正和验证翻译。点击此处查看指示。
  • I / Ostd::get_money机械手和money_get::get功能,如果到达流的末尾,是处理前的最后一个字符需要解析的预期货币价值.
    原文:
    The std::get_money I/O manipulator and money_get::get function, if the end of the stream is reached before the last character needed to parse the expected monetary value was processed.
    文本通过谷歌翻译机器翻译。
    你可以帮忙校正和验证翻译。点击此处查看指示。
  • basic_istream::sentry的构造函数,在开始执行的每一个格式化的输入功能:除非skipws位中unset(例如发出std::noskipws),,放哨的读取和丢弃前导空格字符。如果输入流的结束达到在此操作过程中,都eofbitfailbit被设置,并没有输入发生.
    原文:
    The basic_istream::sentry constructor, executed at the beginning of every formatted input function: unless the skipws bit is unset (e.g. by issuing std::noskipws), sentry reads and discards the leading whitespace characters. If the end of the input stream is reached during this operation, both eofbit and failbit are set, and no input takes place.
    文本通过谷歌翻译机器翻译。
    你可以帮忙校正和验证翻译。点击此处查看指示。
  • I / O机械手std::ws,如果到达流的末尾,而消耗的空白(但是,不同的是格式化的输入哨兵,它不设置failbit在这种情况下)
    原文:
    The I/O manipulator std::ws, if it reaches the end of the stream while consuming whitespace (but, unlike the formatted input sentry, it does not set failbit in this case)
    文本通过谷歌翻译机器翻译。
    你可以帮忙校正和验证翻译。点击此处查看指示。
  • 未格式化的输入功能basic_istream::readbasic_istream::getbasic_istream::getline,当到达流的末尾,.
    原文:
    The unformatted input functions basic_istream::read, basic_istream::get, and basic_istream::getline, when reaching the end of the stream.
    文本通过谷歌翻译机器翻译。
    你可以帮忙校正和验证翻译。点击此处查看指示。
  • 丢弃输入功能basic_istream::ignore,当到达流的末尾,前到达指定的分隔符.
    原文:
    The discard input function basic_istream::ignore, when reaching the end of the stream before reaching the specified delimiter character.
    文本通过谷歌翻译机器翻译。
    你可以帮忙校正和验证翻译。点击此处查看指示。
  • 的直接的输入功能basic_istream::readsome,如果basic_streambuf::in_avail返回-1
    原文:
    The immediate input function basic_istream::readsome, if basic_streambuf::in_avail returns -1
    文本通过谷歌翻译机器翻译。
    你可以帮忙校正和验证翻译。点击此处查看指示。
以下功能清除eofbit的副作用
原文:
The following functions clear eofbit as a side-effect:
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。

[编辑] failbit

的的failbit设定以下标准库函数:
原文:
The failbit is set by the following standard library functions:
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。

[编辑] badbit

以下标准库函数:badbit设置
原文:
The badbit is set by the following standard library functions:
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。

[编辑] 示例

[编辑] 另请参阅

ios_base::iostate flags basic_ios accessors
eofbit failbit badbit good() fail() bad() eof() operator bool() operator!()
false false false true false false false true false
false false true false true true false false true
false true false false true false false false true
false true true false true true false false true
true false false false false false true true false
true false true false true true true false true
true true false false true false true false true
true true true false true true true false true