cin.ignore(numeric_limits <streamsize> :: max(),&#39; \ n&#39;)</streamsize>

时间:2014-07-29 16:18:43

标签: c++ cin ignore

这个特定的行cin.ignore(numeric_limits<streamsize>::max(), '\n')在C ++编程中意味着什么?这实际上忽略了用户的最后输入吗?

3 个答案:

答案 0 :(得分:17)

此行忽略当前行的其余部分,最多为'\n'EOF - 以先到者为准:

  • '\n'设置分隔符,即cin停止忽略的字符
  • numeric_limits<streamsize>::max()设置要忽略的最大字符数。由于这是流大小的上限,因此您实际上告诉cin要忽略的字符数没有限制。

答案 1 :(得分:0)

  

cin.ignore(numeric_limits :: max(),'\ n');

在这里,\n用作分隔符...。这是必须忽略代码的地方(在这种特殊情况下为“ \ n”)。 max()定义了可以忽略的数量没有限制,空格和制表符必须被忽略,直到行结束。

答案 2 :(得分:0)

此代码表示必须在 2 基础上忽略输入 -1 如果 '\n' 被读取 -2 如果达到限制

由于限制为最大值,因此只有 '\n' 是要考虑的主要条件