如何获得Return键按下事件?

时间:2015-08-06 11:00:52

标签: c keyboard-events

我在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 !!!

1 个答案:

答案 0 :(得分:0)

如果您尝试实现编辑器,您很快就会发现getchar()不是解释键盘事件的方法。在这个非常简单的示例中,您可能要做的就是等待一次输入的击键,无论是换行还是换行,如果您更改了某个换行符,那么您的程序将会正常工作。 ("某些"?的缩写)到'\n'。但是,随着编辑器变得越来越复杂,您将需要一个可以检测任何类型的键盘事件的实际事件处理程序,并且可以异步处理它们。 getchar()不是这样做的方式。

7年前的答案显示,(1)您可以使用getch()(和getchar())进行有限的距离,但是(2)更多的人同意这一点#39 ; s无法替代真实的事件处理程序:Detect Keyboard Event in C