使用cin.get();两次

时间:2012-05-18 16:17:29

标签: c++

我不明白为什么可能需要两次,这是我正在读的书的引用;

  

cin.get()语句读取下一个击键,因此该语句会导致程序等到按Enter键。 (在你之前没有按键被发送到程序   按Enter,所以按下另一个键是没有意义的。)如果是,则需要第二个语句   程序否则在常规输入后留下未处理的击键。例如,如果输入数字,则键入数字,然后按Enter键。程序将显示   数字,但Enter键击未经处理,然后由第一个读取   cin.get()。

我把它放在源代码中,并没有看到它存在两次。

您输入一些数字然后按Enter键结束程序,只有不同的是如果在结束前没有输入任何内容则按两次输入。

关键是要暂停程序,它会这样做,为什么要两次使用它?

1 个答案:

答案 0 :(得分:8)

cin.get();从输入中检索单个字符。因此,如果您在输入中5\n\n等同于按 ENTER ),cin.get();将返回5,另一个{{1} }}将返回cin.get();。如果您正在逐个阅读多个数字,请在\n循环中说明,如果您忘记了while字符,则可能会遇到问题。

使用\n也可以在您阅读完所需或关注的字符后更正此问题。