究竟getch()在C中做了什么?

cip*_*her 3 c getch turbo-c

我想(到现在为止)getch()的函数从输入缓冲区(或键盘,简单)读取一个字符.但我不得不和我的实验室老师争论.他们说getch()的唯一工作就是执行程序.我知道getch()可以这样使用.但我只是想知道这是它发明的真正目的吗?或者,它很少用于获得单字符输入?

dre*_*lax 6

getch用于"从当前窗口关联的终端读取单字节字符",如POSIX所指定.这是它的主要功能.它可以配置为非阻塞(例如,如果没有输入,函数会立即返回),因此您的实验室指导员说它的唯一目的是暂停程序执行是错误的.

如果你谈论的是getch()由Turbo-C实现,那么我不知道该阻塞语义的,但如果它的主要目的是暂停执行程序的功能将肯定被命名的东西更容易,比如pause()或waitkb()或类似的东西.


Kri*_*dra 5

大家都知道,getch()从输入中读取单字节字符.

在那些Turbo C编译器的伟大时代,

getch的常见用法是你可以查看程序的输出(如果有的话),而不必打开输出窗口,如果你使用的是turbo c编译器,或者你没有从命令提示符运行你的程序

啊,那些天啊!

据说 BTW getch被弃用了.