c/c++开发分享在C中没有“返回”的情况下从键盘获取输入

如何在不按C / Mac Os中的“返回”的情况下从键盘获取输入

    在具有终端的类Unix系统上(我认为MacOS X符合条件),那么您需要将终端设置为所谓的“cbreak”模式。 关键是终端保持数据直到按下“返回”,这样你的C代码就什么也做不了,除非它指示终端不做这样的缓冲。 这通常称为“cbreak模式”,涉及tcsetattr()函数。

    有点谷歌搜索发现这个代码似乎很好。 终端处于cbreak模式后,您将能够读取标准getchar()fgetc()调用所附带的数据。

    来自comp.lang.c FAQ: 如何在不等待RETURN键的情况下从键盘读取单个字符? 如何在键入字符时阻止字符在屏幕上回显?

    如果您必须自己处理细节,请使用curses变体。 如果它可用,则更喜欢“ncurses”而不是“curses”。 请注意,某些键是“Meta”键,它们实际上只是修改基本键代码。 读取键输入有几种“模式”,范围从“熟”到“部分熟”到“原始”。 每种模式都有自己的特点,请仔细阅读文档。

    有时最好使用来自各种游戏编程库的现有密钥处理代码,我听说使用SDL的关键扫描循环可以获得一些好的结果。 那是一段时间,所以也许存在更新(和更好)的工具包。

      以上就是c/c++开发分享在C中没有“返回”的情况下从键盘获取输入相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注(猴子技术宅)。

      本文来自网络收集,不代表猴子技术宅立场,如涉及侵权请点击右边联系管理员删除。

      如若转载,请注明出处:https://www.ssfiction.com/c-cyuyankaifa/545837.html

      发表评论

      电子邮件地址不会被公开。 必填项已用*标注