我在C编写控制台编辑器。我在Windows上使用CodeLite编辑器。我想在用户按下Return(Enter)键时插入换行符('\n')
。我想用getchar()
函数实现这个目标是可能的吗?
我需要它,因为我想增加y轴变量。
代码I尝试:
int X = 0; // X-axis
int Y = 0; // Y-axis
char key = getchar();
if (key=='sth') // Here I want to perform my check
{
//Do Something
++Y;
}
更新:
如果它有一个代码:'\x45'
,例如将其发布在评论中PLZ !!!
答案 0 :(得分:0)
如果您尝试实现编辑器,您很快就会发现getchar()
不是解释键盘事件的方法。在这个非常简单的示例中,您可能要做的就是等待一次输入的击键,无论是换行还是换行,如果您更改了某个换行符,那么您的程序将会正常工作。 ("某些"?的缩写)到'\n'
。但是,随着编辑器变得越来越复杂,您将需要一个可以检测任何类型的键盘事件的实际事件处理程序,并且可以异步处理它们。 getchar()
不是这样做的方式。
7年前的答案显示,(1)您可以使用getch()
(和getchar()
)进行有限的距离,但是(2)更多的人同意这一点#39 ; s无法替代真实的事件处理程序:Detect Keyboard Event in C