练习:用户设计一个程序,要求程序每隔1s就获取当前系统时间并输出到终端,但是用户不打算让其他用户通过快捷键Ctrl+C来强制结束该程序,所以要求现在设计该程序。
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <signal.h>
#include <time.h>
// 信号处理函数,用于忽略SIGINT信号
void ignore_int(int signum) {
// 你可以在这里打印一条消息,但通常不推荐,因为这可能会干扰程序的正常输出
// printf("Ignoring SIGINT signal (Ctrl+C).\n");
}
int main() {
// 注册SIGINT信号的处理函数为ignore_int
if (signal(SIGINT, ignore_int) == SIG_ERR) {
perror("signal");
return 1;
}
// 无限循环,每隔1秒输出当前时间
while (1) {
time_t rawtime;
struct tm * timeinfo;
time(&rawtime);
timeinfo = localtime(&rawtime);
printf("%02d:%02d:%02d\n", timeinfo->tm_hour, timeinfo->tm_min, timeinfo->tm_sec);
sleep(1);
}
// 注意:由于存在无限循环,这里的return语句实际上永远不会被执行
return 0;
}
标签:tm,int,程序,用户,快捷键,timeinfo,include
From: https://www.cnblogs.com/liuliuye/p/18239453