2010-09-23 73 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庫來完成,但如果你不打算使用它的顯示設施,這是過度殺傷(但方便)。