gpt4 book ai didi

c - kbhit 实现的问题

转载 作者:行者123 更新时间:2023-11-30 18:08:02 26 4
gpt4 key购买 nike

这是我发现的 kbhit 实现,但由于某种原因,它只是等待按下一个键,而不是返回 0 以外的其他结果。它实际上并不像 kbhit 那样起作用...

int kbhit(void)
{
struct timeval tv;
fd_set read_fd;

tv.tv_sec=0;
tv.tv_usec=0;
FD_ZERO(&read_fd);
FD_SET(0,&read_fd);

if(select(1, &read_fd, NULL, NULL, &tv) == -1)
return 0;

if(FD_ISSET(0,&read_fd))
return 1;

return 0;
}

谁能给我解释一下问题出在哪里吗?顺便说一句,我正在使用 Linux。

我认为您可能误解了我,并认为它实际上在击键后返回非零值。我的问题是 kbhit 总是等待击键。

最佳答案

stdin 可能是行缓冲的。在尝试检测按键时,您需要将其切换为无缓冲。

关于c - kbhit 实现的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3971024/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com