我正在使用C而我正在尝试编写一款小游戏。但是每当玩家选中一个键(比如 s )时,我需要读取输入,并且程序执行某些操作,而不按输入。
我看过很多帖子都回答了这个问题,但他们都使用了来自curses的getchar()
或getch()
或Windows中的conio.h
。但这不是我想要的。结果可以完全完成,因为有两个例子:
-
vim
当用户选中:时,它会立即进入命令模式,让您输入命令。
- bash中的
read
命令,其-n${number_you_want}
参数可以限制其读取的字符而不用输入。
醇>
但是我想知道他们是如何做到这一点的,即使我已经在示例中有了函数的来源。我仍然无法弄清楚他们是如何做到这一点的。
来自vim
的{{1}} inchar()
和来自bash来源read.def
的getchar.c
命令的源代码。
任何人都可以帮我解释一下它们的工作原理吗?提前谢谢。