#include #include #include #include #include #define SECS_IN_DAY 86400 int main(int argc, char *argv[]) { time_t lToday = 0; time_t lToday2 = 0; time_t iHours = 0; time_t iMinutes = 0; time_t iDays = 0; char cTmp[3]; struct tm *pTimePtr; time(&lToday); pTimePtr = localtime(&lToday); if (argc > 1) { sprintf(cTmp, "%c%c", argv[1][0], argv[1][1]); pTimePtr->tm_hour = atoi(cTmp); sprintf(cTmp, "%c%c", argv[1][2], argv[1][3]); pTimePtr->tm_min = atoi(cTmp); } else { pTimePtr->tm_hour = 16; pTimePtr->tm_min = 30; } pTimePtr->tm_sec = 00; lToday = mktime(pTimePtr); while (1 == 1) { time(&lToday); // lToday2 = lToday - mktime(pTimePtr); lToday2 = mktime(pTimePtr) - lToday; iHours = (lToday2 - (lToday2 % 3600)) / 3600; lToday2 -= (iHours * 3600); iMinutes = (lToday2 - (lToday2 % 60)) / 60; lToday2 -= (iMinutes * 60); printf("Time Left: %02d:%02d:%02d\r", iHours, iMinutes, lToday2); fflush(stdout); sleep(1); } return 0; }