如何找到 ncurses 应用程序的终端宽度和高度?
我正在使用此代码:
struct winsize size;
if (ioctl(0, TIOCGWINSZ, (char *) &size) < 0)
printf("TIOCGWINSZ error");
printf("%d rows, %d columns\n", size.ws_row, size.ws_col);
使用
SCR_H
和 SCR_W
怎么样?
来自 ncurses 文档
9.4。示例中的其他内容
您还可以在上面的示例中看到,我使用了变量 COLS、LINES,它们在 initscr() 之后初始化为屏幕尺寸。它们对于查找屏幕尺寸和查找屏幕的中心坐标非常有用,如上所述。 getch() 函数照常从键盘获取按键,并根据按键执行相应的工作。这种类型的 switch-case 在任何基于 GUI 的程序中都很常见。
宏会在窗口大小调整时自动更新,因此您无需调用
refersh()
。