【发布时间】:2014-04-26 11:20:21
【问题描述】:
在这段代码中:
char ch;
while(cin.get(ch))
{
std::cerr<<"got ch:"<<ch<<std::endl;
}
为什么在屏幕上打印“got ch:”之前我必须按 Enter 键?
有没有办法让字符在输入后立即回显?
【问题讨论】:
标签: c++
在这段代码中:
char ch;
while(cin.get(ch))
{
std::cerr<<"got ch:"<<ch<<std::endl;
}
为什么在屏幕上打印“got ch:”之前我必须按 Enter 键?
有没有办法让字符在输入后立即回显?
【问题讨论】:
标签: c++
详情请见Canonical vs Non-canonical Terminal Input。
是的,默认情况下,您必须在任何数据可用之前输入 return。
是的,有一些方法可以使用非规范输入,以便字符在输入后立即可用。然而,获得这种行为的机制在 Windows 和基于 Unix 的系统之间是完全不同的。
【讨论】: