c/c++语言开发共享ncurses终端大小

如何找到ncurses应用程序的终端宽度和高度?

    void getmaxyx(WINDOW *win, int y, int x); 我相信…

    另外,这可能会有所帮助……

    C中获得终端宽度?

    ncurses应用程序通常处理SIGWINCH并使用带有TIOCGWINSZioctl来获取系统SIGWINCH的概念。 这可能被环境变量LINESCOLUMNS覆盖(参见use_env )。

    鉴于此,当wgetch返回KEY_RESIZE (响应SIGWINCH )以给出stdscr的大小(表示整个终端的标准屏幕)时,ncurses全局变量LINESCOLS被更新为副作用。

    您当然可以使用getmaxxgetmaxygetmaxyx来获取窗口的x和y坐标的一个或两个限制。 只有最后一个是标准的(和便携式)。

    进一步阅读:

    我正在使用此代码:

     struct winsize size; if (ioctl(0, TIOCGWINSZ, (char *) &size) < 0) printf("TIOCGWINSZ error"); printf("%d rows, %d columnsn", size.ws_row, size.ws_col); 

    那么使用SCR_HSCR_W呢?

    在initscr()之后,变量COLS,LINES被初始化为屏幕尺寸。

    来源: NCURSES编程HOWTO

    我不确定他们是否会在resize时获得更新。

      以上就是c/c++开发分享ncurses终端大小相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注(计算机技术网)。

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

      如若转载,请注明出处:https://www.ctvol.com/c-cdevelopment/560625.html

      (0)
      上一篇 2021年1月28日
      下一篇 2021年1月28日

      精彩推荐