timeout.c
来自「linux 下实现信号处理」· C语言 代码 · 共 29 行
C
29 行
#include <stdio.h>
#include <unistd.h>
#include <signal.h>
char user[40];
//alarm 的捕捉函数
void catch_alarm(int sig_num)
{
printf("Sorry, time limit reached.\n");
//清除定时器
alarm(0);
exit(0);
}
int main(int argc, char* argv[])
{
//设置信号回调
signal(SIGALRM, catch_alarm);
//提示输入用户名
printf("Your Username(10 seconds limit): ");
fflush(stdout);
//设置10秒时限
alarm(10);
//等待用户输入
(char *)gets(user);
printf("Your username is: '%s'\n", user);
return 0;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?