gpt4 book ai didi

unix - ^[[一个字符组合

转载 作者:行者123 更新时间:2023-12-05 00:08:23 25 4
gpt4 key购买 nike

在 Unix 上,当我按向上箭头键时,它会显示此字符串,但是在 scanf 时,它不会将其作为输入。请解释如何将其作为输入。我们可以像第一个 ^[ 是 Esc 键等那样按字符比较字符吗?

最佳答案

那是该键生成的转义序列。 '^['CTRL-[ (ESC 字符),另外两个字符是 '[''A' .

如果您想处理它们,您需要阅读所有三个字符并确定它们表示用户按下了向上箭头键。

您是否可以使用您的 scanf 执行此操作取决于格式字符串。为此,我将使用较低级别的字符输入。

我从不使用 [f]scanf在实际代码中,因为失败会导致您不知道输入指针的位置。对于基于行的输入,我发现使用 fgets 总是更好然后 sscanf检索到的字符串。

但是,正如我所说,您应该使用 getc及其低级字符 I/O 的兄弟。或者找一个更高级的函数比如readline在 Linux 下,或其他知道将其转换为特殊键码的库,例如 VK_KEY_UP你可以处理。

关于unix - ^[[一个字符组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1502332/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com