read2.c
来自「apue第二版每一章节的c语言源码」· C语言 代码 · 共 35 行
C
35 行
#include <setjmp.h>#include <signal.h>#include "ourhdr.h"static void sig_alrm(int);static jmp_buf env_alrm;intmain(void){ int n; char line[MAXLINE]; if (signal(SIGALRM, sig_alrm) == SIG_ERR) err_sys("signal(SIGALRM) error"); if (setjmp(env_alrm) != 0) err_quit("read timeout"); alarm(10); if ( (n = read(STDIN_FILENO, line, MAXLINE)) < 0) err_sys("read error"); alarm(0); write(STDOUT_FILENO, line, n); exit(0);}static voidsig_alrm(int signo){ longjmp(env_alrm, 1);}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?