如何在c/mac操作系统中不按“return”从键盘获取输入
最佳答案
在具有终端的类unix系统上(我认为macos x是合格的),则需要将终端设置为所谓的“cbreak”模式。关键是终端在按下“return”键之前一直保存数据,所以C代码不能做任何事情,除非它指示终端不要做这种缓冲。这通常称为“CBREAK模式”,涉及tcsetattr()
函数。
有点google发现this code这看起来不错。一旦终端处于cbreak模式,您将能够读取标准getchar()
或fgetc()
调用附带的数据。