gpt4 book ai didi

c - Getch() 不读取输入

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

我尝试使用 getch() 和 kbhit() 来读取用户的输入,但它似乎无法识别按下了某个键。

void main(){
printf("start\n");
while (1){
if (kbhit() == 1){
printf("in\n");
int k = getch();
printf("k: %d\n", k);
}
}
}

此代码打印“start”,并且在按下某个键时不打印任何内容。在没有循环的情况下,我没有运气使用 getch() 来读取和打印哪怕一个字符。

最佳答案

发布的代码无法编译!

无论 Visual Studio 允许什么,main() 都只有 2 个有效签名:

int main( void )
int main( int argc, char *argv[] )

注意它们都返回一个 int,而不是 void

发布的代码缺少必要的#include语句

当询问运行时问题时,就像这个问题一样,发布一个 [mcve],以便我们可以重新创建问题。

函数:kbhit() 当按键时返回一个非零值(不一定是 1)。

建议:

#include <stdio.h>
#include <conio.h> // note: this is a nonstandard header
// in Windows, so it is not portable
int main( void )
{
printf("start\n");

while (1)
{
if ( kbhit() )
{
printf( "in\n" );
int k = getch();
printf( "k: %d\n", k );
}
}
}

关于c - Getch() 不读取输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53490111/

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