下班倒计时
#include <stdio.h>
#include <time.h>
#include <unistd.h>void print_remaining_time(time_t now, time_t tar_time) {double diff = difftime(tar_time, now);int hours = (int)diff / 3600;int minutes = ((int)diff % 3600) / 60;int seconds = (int)diff % 60;printf("\r距离下班还有: %02d 小时 %02d 分钟 %02d 秒", hours, minutes, seconds);fflush(stdout);
}int main() {while(1) {time_t now;struct tm *tm_now;time(&now);tm_now = localtime(&now);struct tm tm_tar = *tm_now;tm_tar.tm_hour = 18;tm_tar.tm_min = 0;tm_tar.tm_sec = 0;time_t tar_time = mktime(&tm_tar);if(difftime(tar_time, now) < 0) {tm_tar.tm_mday += 1;tar_time = mktime(&tm_tar);}print_remaining_time(now, tar_time);sleep(1);}return 0;
}