为啥cin需要输入换行符? [复制]
Posted
技术标签:
【中文标题】为啥cin需要输入换行符? [复制]【英文标题】:Why does cin need newline to be entered? [duplicate]为什么cin需要输入换行符? [复制] 【发布时间】:2014-04-26 11:20:21 【问题描述】:在这段代码中:
char ch;
while(cin.get(ch))
std::cerr<<"got ch:"<<ch<<std::endl;
为什么在屏幕上打印“got ch:”之前我必须按 Enter 键?
有没有办法让字符在输入后立即回显?
【问题讨论】:
【参考方案1】:详情请见Canonical vs Non-canonical Terminal Input。
是的,默认情况下,您必须在任何数据可用之前输入 return。
是的,有一些方法可以使用非规范输入,以便字符在输入后立即可用。然而,获得这种行为的机制在 Windows 和基于 Unix 的系统之间是完全不同的。
【讨论】:
以上是关于为啥cin需要输入换行符? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
为啥我的 Linux 文本文件(使用 echo 创建)以换行符结尾?我怎样才能删除它? [复制]