如何找到 ncurses 应用程序的终端宽度和高度?
41102 次
5 回答
25
于 2009-11-28T08:19:46.317 回答
14
ncurses 应用程序通常处理SIGWINCH和使用ioctlwithTIOCGWINSZ来获取系统的屏幕尺寸概念。这可能会被环境变量LINES和COLUMNS(参见参考资料use_env)覆盖。
鉴于此, ncurses 全局变量LINES并在返回COLS时作为副作用更新(响应 a )以给出(代表整个终端的标准屏幕)的大小。wgetchKEY_RESIZESIGWINCHstdscr
您当然可以使用getmaxx,getmaxy和getmaxyx来获得窗口 x 和 y 坐标的一个或两个限制。只有最后一个是标准的(和便携式的)。
进一步阅读:
于 2016-07-23T00:32:02.900 回答
2
我正在使用这段代码:
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);
于 2014-04-07T08:59:16.110 回答
1
使用SCR_Hand怎么样SCR_W?
于 2009-11-28T10:26:28.197 回答
1
于 2016-07-27T15:41:37.950 回答