winch.c
来自「unix环境高级编程 配套源代码 学习学习啊」· C语言 代码 · 共 41 行
C
41 行
#include <signal.h>#include <termios.h>#ifndef TIOCGWINSZ#include <sys/ioctl.h> /* 44BSD requires this too */#endif#include "ourhdr.h"static void pr_winsize(int), sig_winch(int);intmain(void){ if (isatty(STDIN_FILENO) == 0) exit(1); if (signal(SIGWINCH, sig_winch) == SIG_ERR) err_sys("signal error"); pr_winsize(STDIN_FILENO); /* print initial size */ for ( ; ; ) /* and sleep forever */ pause();}static voidpr_winsize(int fd){ struct winsize size; if (ioctl(fd, TIOCGWINSZ, (char *) &size) < 0) err_sys("TIOCGWINSZ error"); printf("%d rows, %d columns\n", size.ws_row, size.ws_col);}static voidsig_winch(int signo){ printf("SIGWINCH received\n"); pr_winsize(STDIN_FILENO); return;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?