检查输入缓冲区中等待的项目数ncurses。

问题描述 投票:0回答:1

如果可能的话,如何检查输入缓冲区中等待我的输入次数?也就是说,我可以合理地假设,有多少次 getch 会返回某种答案吗?

c ncurses
1个回答
2
投票

您应该可以通过设置不超时来间接完成这个操作(例如,使用 nodelay),并称 getch 直到 ERR 返回,然后(按相反顺序)调用 ungetch 恢复 fifo.

这不是可移植的(XOpen Curses说只有一个...)。ungetch 可能会有效果),但ncurses有一个 fifo (见 源头),这应该允许最多调用135次getchungetch。

这样做会干扰使用多字节数据序列的函数(如鼠标协议,或函数键匹配),而且不一定能很好地使用UTF-8。

© www.soinside.com 2019 - 2024. All rights reserved.