c/c++语言开发共享使用getchar立即检索击键

我正在尝试使用getchar()从键盘一次检索1次击键。 虽然它这样做,我遇到的问题是不立即发送它,它等待按下回车键然后它从缓冲区一次读取1个字符。

int main(){ char c = getchar(); putchar(c); return 0; } 

当从键盘按下时,如何立即读取每次击键? 谢谢

    你必须传入原始模式。 我粘贴你的代码:

     #include  #include  void mode_raw(int activer) { static struct termios cooked; static int raw_actif = 0; if (raw_actif == activer) return; if (activer) { struct termios raw; tcgetattr(STDIN_FILENO, &cooked); raw = cooked; cfmakeraw(&raw); tcsetattr(STDIN_FILENO, TCSANOW, &raw); } else tcsetattr(STDIN_FILENO, TCSANOW, &cooked); raw_actif = activer; 

    }

    之后,您无需点击Enter键。

    编辑:像Emmet说的那样,它是Unix版本,它取决于环境。

    您可以使用conio.h中定义的getch()函数

    请注意,使用getch()不会显示控制台上的字符。 如果你想看到你的intput,你可以使用像putch(),putchar(),printf()等函数。

    例如

     #include  int main() { char c = getch(); putch(c); //isn't necessary for the input, Let's you see your input. return 0; } 

      以上就是c/c++开发分享使用getchar立即检索击键相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/c-cdevelopment/518866.html

      (0)
      上一篇 2020年12月5日
      下一篇 2020年12月5日

      精彩推荐