2010-09-23 68 views
0

在循环中有一个cout语句,它打印从键盘提供的字符,但内部循环它没有显示它,甚至不断键入键盘上的键,但是当我们按下输入它显示了所有的人都在一起 为什么有cin.get()外循环以及如何在循环内cin.get()的实际行为cin.get()在while循环中没有得到清晰的想法

请回复 thankx

+0

请发送代码 – 2010-09-23 15:00:51

+0

您需要发布代码。 – bjskishore123 2010-09-23 15:01:19

+0

'char c; cin.get(C); while(c!='\ n'){cout << c; cin.get(C); ''或接近于此的东西。循环终止条件需要工作 - 如果你在换行之前得到EOF,它可能会非常不高兴。 – 2010-09-23 15:41:27

回答

0

的问题是操作系统不会将关键笔划发送到您的程序,直到您在该行末尾处返回。在此之前,您可以使用退格或删除以及其他可能的字符来编辑该行。

如果您想一次只输入一个字符,那么您必须将终端(在Unix及其衍生产品上)的I/O模式调整为“原始”模式。这可以用curses库来完成,但如果你不打算使用它的显示设施,这是过度杀伤(但方便)。