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 @   大螺丝贼六  阅读(9)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
html
点击右上角即可分享
微信分享提示