cin 输入可以有多大
How large can cin input be?
请考虑以下代码:
int a;
cin >> a;
输入不会在你输入例如1
或2
时停止;它会等到你按回车键。这是如何工作的?为什么cin
等待您的输入,直到您按 ENTER 键?
您的运行时环境和终端控制原始键盘输入。通常,它们仅将输入逐行发送到应用程序,以允许编辑。如果您希望终端立即向您发送键盘输入,则必须以依赖于平台的方式与终端交谈。
(这通常称为"原始"模式,而不是通常的行缓冲"烹饪"模式。请注意,烘焙模式还处理退格、删除和光标移动等等。
cin
后面只有一个缓冲区,它被输入填满,然后在使用提取运算符(>>
)时被清空。何时以及如何填满取决于平台。例如,在类Unix系统中,输入终端处于规范或非规范模式。在规范模式下,输入是逐行可用的。在非规范模式下,它立即可用。可以在这些模式之间切换(检查man termios
)。
标准输入缓冲区的实际大小由实现定义。
相关文章:
- 在while循环中输入带有std::cin的字符串后,控制台会输出大量胡言乱语
- 在C++中使用Cin,我如何在1行中输入
- 为什么无论你输入什么,这"while(cin.get(str,3))"只运行一次?
- cin 的十进制输入验证?
- 我无法在Visual Studio代码中使用CIN输入答案,它说输入您的年龄,但它说只读文本编辑器如何解决这个问题?
- 从 cin 读取不会返回整个输入字符串
- CIN 仅在输入非数字值时跳过下一个 CIN
- 当输入在带有空格的单行中给出时,cin 如何在 while 循环中工作?
- C++ 限制或使用户输入不可见 (std::cin)
- 为 c++ cin 上的输入数无效生成错误消息
- 从 cin 获取 c++ 中结构中多个枚举的输入
- 为什么 std::cin 不提示用户输入?
- C++ CIN 值返回 0 而不是输入值
- 为什么从 std::cin 读取输入后右括号字符的值有时不是")"?
- 为什么不能通过在错误输入后设置 std::cin.clear() 来使用 std::cin?
- :CIN 不断打印用户在每次循环后输入的内容
- 设置输入(CIN)的超时
- 如何将输入(CIN)字符的用户转换为ASCII代码
- 不能在一行中输入 (cin) 超过 10 个整数,以空格分隔到数组中
- 函数结构数组输入cin问题