cin和cout如何在以下程序中工作?

时间:2018-03-20 19:53:58

标签: c++ c++11

在以下程序中:

ini_get_all

输入:abc 输入
输出:abc

键盘输入的内容只有在按Enter键即新行时才会打印。

为什么不同时打印每个角色? 这里的哪个语句将换行作为输入并打印到目前为止打印的所有字符?

1 个答案:

答案 0 :(得分:2)

您的终端在按下时不会发送每个新字符;等你提供整行,然后一次性发送。

在Linux世界中,这称为canonical mode

如果您希望将击键结果立即发送到您的终端所连接的任何内容,请关闭规范模式。

但是,我不能告诉你如何做到这一点,因为你没有说出你的终端是什么。

程序本身有时可能request that the terminal not use canonical mode(例如 curses 应用程序必须这样做),但实现此目的的方式取决于您的操作系统 - 以及再次,你的终端是什么。