代码拉取完成,页面将自动刷新
/**
* 捕捉窗口大小改变的信号,并打印
**/
#include "apue.h"
static void pr_winsize(int fd)
{
struct winsize sz;
ioctl(fd, TIOCGWINSZ, &sz);
printf("rows %d; columns %d\n", sz.ws_row, sz.ws_col);
}
static void win_change(int signo)
{
printf("size changed: ");
pr_winsize(STDIN_FILENO);
}
int main()
{
// 判断是否是终端
if (!isatty(STDIN_FILENO)) {
return -1;
}
printf("current size: ");
pr_winsize(STDIN_FILENO);
// 绑定信号处理函数
signal(SIGWINCH, win_change);
while (1)
pause();
return 0;
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。