在C语言中,可以使用标准库函数
getchar()
来读取用户输入的字符。这个函数会等待用户输入一个字符后才会返回,如果用户没有输入,程序就会一直阻塞在这里,直到用户输入了一个字符为止。
如果你想要在没有用户输入的情况下检测键盘是否有输入,可以使用非阻塞输入函数,例如
kbhit()
函数。
kbhit()
函数在Windows系统中可用,它会检查输入缓冲区中是否有输入,如果有输入则返回一个非零值,否则返回零。如果需要在Linux或Unix系统上使用非阻塞输入,可以使用
select()
或
poll()
等函数实现。
以下是一个简单的例子,演示如何在Windows系统中使用
kbhit()
函数来检测键盘是否有输入:
#include <stdio.h>
#include <conio.h>
int main()
while (1) {
if (kbhit()) {
char c = getchar();
printf("You entered: %c\n", c);
// do some other things here
return 0;
上述代码中,程序会不断循环检测是否有输入,如果有输入就读取并打印出来,否则就继续执行其他的逻辑。这样可以避免程序在等待用户输入时阻塞。