【发布时间】:2018-02-01 17:50:30
【问题描述】:
我在虚拟机中使用香草 Ubuntu。有问题的代码:
#include <sys/ioctl.h>
#include <stdio.h>
#include <unistd.h>
int main(void){
struct winsize w;
ioctl(STDOUT_FILENO, TIOCGWINSZ, &w);
printf("lines %d\n", w.ws_row);
printf("columns %d\n", w.ws_col);
printf("\033[8;40;100t");
ioctl(STDOUT_FILENO, TIOCGWINSZ, &w);
printf("lines %d\n", w.ws_row);
printf("columns %d\n", w.ws_col);
return 0;
}
当我编译并运行它时,会打印出原始终端窗口大小,然后将窗口大小调整为 40x100,但最后的 printf 行不反映新的终端窗口大小。
这里发生了什么,如何获取更新的终端窗口大小信息?
【问题讨论】: