关于cin.get()的澄清

时间:2015-10-18 22:03:24

标签: c++

...
cin.get(temp,MaxLen);
while(cin && cin.get()!= '\n')
    continue;
...

其中temp是char数组,MaxLen是const。

现在,这就是我认为代码的含义。

"从输入缓冲区获取MaxLen字符并分配给temp" 然后 "只要cin没有错误标志且下一个字符不是" \ n":继续"

这是对的吗?

1 个答案:

答案 0 :(得分:0)

该行:

struct cs1550_sem

从标准输入流中将cin.get(temp,MaxLen); 个字符最多读取到MaxLen - 1,直到找到temp

以下内容:

\n
散文中的

意味着我们正在从那里跳到最后一行。

这意味着如果最顶层while(cin && cin.get()!= '\n') continue; 到达行尾,则while循环将跳过下一行。否则,如果在未找到get的情况下读取所有MaxLen - 1个字符,则while循环将跳过该行上的其余字符。