1

我想移植一个简单​​的控制台应用程序以在 Linux 终端上运行,并尽可能保持其当前行为。这是一个基于 CLI 的小游戏,在 Windows 上使用 conio.h,我想将它移植到 Linux。

所有 conio.h 特定行都是这些:

...  
  HANDLE out = GetStdHandle(STD_OUTPUT_HANDLE);
  CONSOLE_CURSOR_INFO     cursorInfo;
  GetConsoleCursorInfo(out, &cursorInfo);
  cursorInfo.bVisible = false; // set the cursor visibility
  SetConsoleCursorInfo(out, &cursorInfo);
  short int CX=0, CY=0;
        COORD coord;
        coord.X = CX;
        coord.Y = CY;
...
     SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord);
...

(并且:我应该使用 curses.h 还是 ncurses.h?)

4

1 回答 1

1

conio.h问题通常问关于getch,大致对应于上层(诅咒)getch。然而,大多数conio.h都是较低级别的,就像这样,并且可以使用 terminfo 来完成,例如 , tigetstr, tparm,tputs使用"civis"(cursor-invisible) 和"cup"(cursor-position)。这些功能是通过<term.h>.

很可能该程序使用了其他功能(并且没有关于移植conio.h到 curses 的有用教程)。在 curses 中,提到的功能将是curs_setmove

进一步阅读(术语信息):

于 2019-05-04T09:57:02.783 回答