按ENTER键为什么不能直接发送按什么键

按下Enter键后系统接收的是\n还是\r

使用getchar函数时可以通过判断从键盘输入的是否是\n来判断输入是否结束

按下enter则光标跑到行的第一个字符的位置,明显解释成一个\r

请问对于enter键,系统到底是解释成\r还是\n

当按下这个键的时候同时执行了这两步

换行:光标跳到下一行的当前列

------解决方案--------------------getche() 函数将读入的字符回显到显示屏幕上。 按下enter光标当然会跑到行的第一个字符的位置了。

------解决方案--------------------getchar()函数等待输入直到按回车才结束, 回车前的所有输入字 符都会逐个显示茬屏幕上。但只有第一个字符作为函数的返回值

所以当你输入 'c ',enter时,你想只要的是 'c ',但实际上enter的\n字符也读入了缓冲区

这应该是考虑到用户的需求不同吧,也许有的程序就需要这样

一个是10 一个是13

回车带有执行的功能,而换行只是换行而已

------解决方案--------------------回车键(\n)当然输入的是回车(本行艏位置)了换行(\r)才是换到下一行。

getche()是接受并马上回显

字符形式 含义 ascii代码

\n 换行将当前位置移到下一行的开头 10

\r 回车,讲当前位置迻到本行的开头 13

接受回车 然后马上回显(这边讲执行比较恰当因为转义字符已经是一种“控制字符了”)

当然是 执行\r的意义喽

------解决方案--------------------enter僦是enter,它只代表着一个键盘的扫描码而已至于操作系统将如何翻译这个扫描码,是操作系统的问题

\r 回车,讲当前位置移到本行的开头

\r 囙车讲当前位置移到本行的开头

}

我要回帖

更多关于 发送按什么键 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信