C++ 数字时钟程序设计问题 20
只实现显示时间的话简单啊,刚写的:
#include <iostream>
#include <time.h>
#include <windows.H>
//把光标隐藏
void HideCursor()
{
CONSOLE_CURSOR_INFO cursor_info = {1, 0};
SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE), &cursor_info);
}
//把整数时间转换成HH:MM:SS的形式
int TimeNumToStr(time_t time, char *pBuf)
{
struct tm *tmT;
tmT = localtime(&time);
if (NULL == tmT)
{
//printf("tmT is NULL.time = %u.\n", time);
return -1;
}
sprintf(pBuf, "%02d:%02d:%02d",
tmT->tm_hour,
tmT->tm_min,
tmT->tm_sec
);
return 0;
}
int main()
{
time_t tmNow;
char cTmp[15] = {0};
HideCursor();
while (1)
{
tmNow = time(NULL);
TimeNumToStr(tmNow, cTmp);
printf("\r\t\t%s", cTmp);
Sleep(1000);
}
return 0;
}
运行效果:
按ctrl +c 结束程序
2023-08-15 广告
我写了个最简单的。
#include <stdio.h>
#include <time.h>
int main()
{
int temp = 0;
while(1)
{
time_t t = time(NULL); // 获取当前秒数
int day = (int)t % (24 * 3600); // 得到今天的秒数
int h = (day /3600 + 8) % 24; // 得到小时
int m = (day % 3600) / 60; // 得到分钟
int s = day % 60; // 得到秒数
if (temp != s)
{
temp = s;
printf("\r%02d:%02d:%02d", h, m, s);
}
}
return 0;
}
ctrl + C 结束