2013-08-19 62 views
0

例如,如果寫代碼的語句:爲什麼cin不能識別回車鍵,就像cin.get一樣?

char a[10]; 
char b[10]; 
cin>>a; 
cin>>b; 

cin>>b;沒有看到回車後輸入被按下,例如鍵,您好

但是當改爲cin>>b;cin.get(b, 10);然後cin.get(b, 10);讀取輸入以前的語句的鍵。

+0

你的意思是「沒有看到輸入後按下的Enter鍵?」你的意思是它沒有將光標移動到控制檯中的新行? –

+0

這甚至不應該編譯。你是否認爲這些數組是'char'? –

+0

@SebastianRedl這是錯字,對不起 – Sunrise

回答

6

在這裏假設abchar的數組,因爲否則您的問題沒有意義。

get是一個「未格式化」的輸入函數,用於在輸入流時讀取輸入。這就是它讀取換行符的原因。

>>是一個「格式化」的輸入函數,用於以自然的方式讀取特定類型的數據。具體而言,>>char數組讀取單個字,即不包含空白的字符序列。這就是爲什麼當它遇到新行時,它停止閱讀,這是空格。

相關問題