有没有更好的方法来分析按下的键而不用 C 在屏幕上打印(例如.箭头键和返回)



代码片段(完整代码在这里.)

int Process (void)
{
  for (;;)
  {
    unsigned char Char_Fore = getch();
    if (Char_Fore == 0xE0)
    {
      unsigned char Char_Back = getch();
      switch (Char_Back)
      {
        case 0x48:
          Up();
          break;
        case 0x50:
          Down();
          break;
      }
    }
    else if (Char_Fore == 0x0D)
      Enter();
  }
  return 0;
}

此代码可以在某些计算机上正常运行,但某些计算机由于getch()函数而无法正常运行。

getch()_getch()是用conio.h声明的函数,如果您的键盘不是 IBM set 2,或者选择了不同的编译器(不是 Mingw-gcc),则返回值会有所不同。

有没有更好的方法来分析在 C 中按下的键,而无需在屏幕上打印,也不使用已弃用的功能,如控制台中的getch()_getch()

我知道

这不是一个真正的答案,但我没有足够的声誉来评论。

我记得使用过一个名为termios.h的标头,使用它我可以关闭字符的回显,现在这是在UNIX系统上,但我想有一个Windows等效物。

这是Windows.h的按键代码,也许您可以根据需要进行调整?http://www.cplusplus.com/forum/articles/7312/#msg33734

看看诅咒

或诅咒,听起来像是你想使用的东西。

PDCurses 似乎是 Windows 选项 - ncurses 是否可用于 Windows?

最新更新