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

来源:互联网 发布:51hei单片机论坛 编辑:程序博客网 时间:2024/05/22 04:51

在学习C++过程中,很多次遇到题目这个语句,终于懂了它是在干嘛(下面的解释如果哪儿不对,希望大家能给我讲一下)

cin.get(temp, MaxLen);

while(cin && cin.get() != '\n')

continue;


对于这一段话,首先,方法cin.get(temp, MaxLen)将一直读取输入,直到到达行尾或者是读取了 MaxLen-1 个字符。换行符被留在输入队列。while中的cin.get()读取上一句输入后的字符,直到读到换行符,它在做的事就是丢弃滤掉多余的字符。

所以这段话做的事是把超过MaxLen-1的部分滤掉。

比如,假设MaxLen=6,结果如下:



原创粉丝点击