使用 terminfo/ncurses 庫接口獲取當前終端幾何尺寸。
int setupterm(char *term, int fd, int *errret):初始化終端信息。term=NULL 使用環境變量 TERM,fd 通常為 fileno(stdout),errret 可為 NULL。成功返回 1/0,失敗 -1/0。int tigetnum(char *capname):查詢數值型終端能力。"lines" 為行數,"cols" 為列數。失敗返回 -2。int res = setupterm(NULL, fileno(stdout), NULL);
int row_count = tigetnum("lines");
int col_count = tigetnum("cols");
printf("Terminal row:%d\n", row_count);
printf("Terminal colum:%d\n", col_count);
gcc GetLineCol1.c -o end -lncurses
必須鏈接 -lncurses。
Terminal row:56 Terminal colum:113
不同終端輸出不同,反映實際幾何大小。