html

练习:用户设计一个程序,要求程序每隔1s就获取当前系统时间并输出到终端,但是用户不打算让其他用户通过快捷键Ctrl+C来强制结束该程序,所以要求现在设计该程序。

练习:用户设计一个程序,要求程序每隔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;  
}
posted @ 2024-06-09 12:37  大螺丝贼六  阅读(23)  评论(0)    收藏  举报
html