2013-08-19 34 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数组读取单个字,即不包含空白的字符序列。这就是为什么当它遇到新行时,它停止阅读,这是空格。

相关问题