![](/img/trans.png)
[英]Get rid of space when printing a new line using standard output in c++ and ncurses
[英]New line with ncurses in c++
#include <ncurses.h>
int main(int argc, char ** argv)
{
initscr();
while(1){
int c = getch();
if(c == 'q'){
break;
}
}
return 0;
}
好的,抱歉格式错误,但这就是代码。 它工作正常,终端捕捉到我按下的任何字符,但是当我按下 ENTER 时,我无法获得换行符。 为什么?
谢谢
curses 为此有一个 function :
nl/非l
nl
和nonl
例程控制底层显示设备是否在输入时将返回键转换为换行符。
源代码注释提到ICRNL
:
/*
* Simulate ICRNL mode
*/
if ((ch == '\r') && sp->_nl)
ch = '\n';
这是一个POSIX termios功能:
CR
输入时的特殊字符,如果设置了ICANON
标志,则可以识别该字符; 它是<carriage-return>字符。 当ICANON
和ICRNL
设置IGNCR
时,该字符应翻译为NL
,并应具有与NL
字符相同的效果。 它不能改变。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.