首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何忽略C从标准输入中读取的箭头键?

如何忽略C从标准输入中读取的箭头键?
EN

Stack Overflow用户
提问于 2009-05-22 15:23:06
回答 2查看 2.1K关注 0票数 2

我正在使用read()系统调用从标准输入中读取数据,但是有一件小事困扰着我。我不能用箭头键..。我真正想做的是使用箭头键在键入的文本中来回切换,但我认为这并不容易……所以,我至少想做的就是忽略它们。

现在,按任何一个箭头键都会产生奇怪的输出,我希望防止将任何内容写入标准输出(因此从我的read()系统调用中的标准输入中读取)。

这是容易实现的,还是不容易实现的?

EN

Stack Overflow用户

发布于 2009-05-22 23:19:01

答案最终取决于密钥从何而来。我在Cygwin下运行了这个程序:

代码语言:javascript
运行
复制
int main(void)
{
    int c=0;

    while( c != 'X' ) {
        c = getchar();
        printf("\nc=%d", c);
    }
}

每次出现光标键时,我都会看到换行符(27)、一个括号和另一个字符。所以,如果你得到这样的结果,你可以跳过3个关键点,每次你看到一个27。您还可以查看它们并使用它们!

如前所述,YMMV,特别是对于操作系统,以及您调用的实际密钥获取函数。

票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/898443

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档