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);
讀取輸入以前的語句的鍵。
例如,如果寫代碼的語句:爲什麼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);
讀取輸入以前的語句的鍵。
在這裏假設a
和b
是char
的數組,因爲否則您的問題沒有意義。
get
是一個「未格式化」的輸入函數,用於在輸入流時讀取輸入。這就是它讀取換行符的原因。
>>
是一個「格式化」的輸入函數,用於以自然的方式讀取特定類型的數據。具體而言,>>
與char
數組讀取單個字,即不包含空白的字符序列。這就是爲什麼當它遇到新行時,它停止閱讀,這是空格。
你的意思是「沒有看到輸入後按下的Enter鍵?」你的意思是它沒有將光標移動到控制檯中的新行? –
這甚至不應該編譯。你是否認爲這些數組是'char'? –
@SebastianRedl這是錯字,對不起 – Sunrise