c++ - 为什么 cin 不能像 cin.get 那样识别回车键?

标签 c++ cin

例如,如果将这些语句写成代码:

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

cin>>b; 没有看到输入后按下的 Enter 键,例如,你好

但是当 cin>>b; 写成 cin.get(b, 10); 然后 cin.get(b, 10); 从上一条语句中读取 Enter 键。

最佳答案

这里假设 abchar 数组,否则你的问题就没有意义。

get 是一个“无格式”输入函数,用于读取进入流中的输入。这就是它读取换行符的原因。

>>> 是一个“格式化”的输入函数,意味着以自然的方式读取特定类型的数据。特别是,带有 char 数组的 >> 读取单个单词,即不包含空格的字符序列。这就是为什么它在遇到换行符(即空白)时停止读取的原因。

关于c++ - 为什么 cin 不能像 cin.get 那样识别回车键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18317538/

相关文章:

c++ - 使用 ' ios::sync_with_stdio(0)' 测试运行时差异时,为什么我的输出是零散的?

c++ - 如果输入类型与目标类型不同, "cin"是否会将变量重置为某个默认值?

c++ - 有没有为类创建一个非类型模板参数但不使用 <> 声明?

c++ - cin.ignore() 到底做了什么?

C++ 条件语句未被检查

c++ - 在常数时间内修剪 C++ 字符串

C++ cin 读取 STDIN

c++ - boost spirit , boost 任何和引用的字符串 - 编译时错误

C++ 强制转换运算符重载和多态性

c++ - C 字符串比定义的长度短一个字符?