1 Star 0 Fork 0

maxiaowei / Linux

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
term_windowSize.c 564 Bytes
一键复制 编辑 原始数据 按行查看 历史
maxiaowei 提交于 2020-12-30 15:12 . 18章代码及习题
/**
* 捕捉窗口大小改变的信号,并打印
**/
#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;
}
C
1
https://gitee.com/maxiaowei/Linux.git
git@gitee.com:maxiaowei/Linux.git
maxiaowei
Linux
Linux
master

搜索帮助