我认为(到目前为止)getch() 函数从输入缓冲区(或键盘,简单来说)读取一个字符。但我不得不和我的实验室导师争论。他们说 getch() 的唯一工作是保持程序执行。我知道 getch() 可以那样使用。但我只想知道发明它的真正目的是什么?或者,它很少用于获取单字符输入吗?
最佳答案
getch
用于“从与当前窗口关联的终端读取单字节字符”,如 specified by POSIX .这是它的主要功能。它可以配置为非阻塞的(例如,如果没有输入,该函数会立即返回),因此您的实验室讲师说它的唯一目的是暂停程序执行是错误的。
如果您谈论的是 Turbo-C 实现的 getch()
那么我不确定阻塞语义,但如果它的主要目的是暂停程序执行,该函数将 < em>肯定被命名为更合适的名称,例如 pause()
或 waitkb()
或类似名称。
关于c - getch() 在 C 中究竟做了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13677253/