gpt4 book ai didi

c - 如何更改 termios 配置,以便在用户按下 键时 getc() 立即返回?

转载 作者:太空宇宙 更新时间:2023-11-04 04:07:22 25 4
gpt4 key购买 nike

我想为我的 CLI 应用程序实现自动完成功能。 getc() 的默认行为仅在输入以下字符列表时返回:NEW_LINE 或 EOF。我想将 TAB 添加到此列表,以便我可以触发我的自动完成算法。

有没有办法做到这一点,例如,使用 termios? editline 库 (http://www.thrysoee.dk/editline/) 可以做到,但我不知道它是怎么做到的?

最佳答案

最简单的方法,根本不需要 tcsetattr()tcgetattr(),是使用 cbreak() 来将终端置于“cbreak”模式,该模式不缓冲或处理控制字符,然后在完成重置后使用 nocbreak()

cbreak 的手册页记录了各种相关函数,包括可用于控制终端的 raw()noecho()无需完全理解 termios。

如果你想要更好的控制,你需要直接使用termios。我写了一个blog post刚才应该让你开始了。

关于c - 如何更改 termios 配置,以便在用户按下 <tab> 键时 getc() 立即返回?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4163405/

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