像在bash中一样在c中扫描单个字符

时间:2013-03-04 09:59:22

标签: c

我在c做节目。 我想扫描我的输入,如:

[root@localhost sudoers.d]# cd /home/Hitesh/
Display all 113 possibilities? (y or n)

在bash中,当用户输入'n'或'y'时,它会立即显示。

但是在c程序中如果我通过getchar()接收输入然后如果我按'n'或'y',我显然必须在此之后按回车键继续执行。

所以我想,我的执行恢复,一按'n',它就不应该等待按键输入。

如何在c编程中实现这一目标。

3 个答案:

答案 0 :(得分:0)

您正在寻找的功能是getch ()

答案 1 :(得分:0)

使用getch()

char answer = getch();
if(answer=='y')
   //yes!
else
   //no!

答案 2 :(得分:0)

你可以使用getch()而不是getchar()。 getch()只接受一个字符,所以你不想按回车键。

char opt = getch();
// show typed value
printf("%c", opt );
if( opt == 'y' )
{
  ............
}
else 
{
  ............
}

希望这会有所帮助