c++问题(时间函数)

来源:百度知道 编辑:UC知道 时间:2024/06/15 00:28:18
#include<iostream.h>
#include<time.h>
int main()//(动态)输出时间
{time_t a;
tm *b;
clock_t c;
while(1)
{c=clock()/CLOCKS_PER_SEC;
while(c==clock()/CLOCKS_PER_SEC);//目的是每隔一秒钟执行一次打印函数
a=time('\0');
b=localtime(&a);
cout<<b->tm_hour<<":"<<b->tm_min<<":"<<b->tm_sec<<"\r";}

return 0;
}
运行后没有输出
这个程序哪儿错了
请指教

#include <windows.h>
#include<iostream.h>
#include<time.h>
int main()//(动态)输出时间
{
time_t a;
tm *b;
clock_t c;
while(1)
{
c=clock()/CLOCKS_PER_SEC;
Sleep(1);//应该这样停止1秒,如果用循环的话cpu占有率太高了,还有个问题,在多进程系统里用clock()/CLOCKS_PER_SEC来判断结果一秒是不对的。
a=time('\0');
b=localtime(&a);
cout<<b->tm_hour<<":"<<b->tm_min<<":"<<b->tm_sec<<"\r";
}
return 0;
}

你的程序没有输出是很正常的现象 因为看似不断的循环读取系统时间,实际上在多进程系统里,进程间切换必定导致这个程序读取的系统时间不是连续的

我运行了,有输出啊
是系统时间,程序没问题啊