C语言中time.h头文件中对时间的操作具体是怎样的?
time.h头文件提供对时间操作的一些函数,clock()是程序开始到调用的毫秒数。
time_tt_begin,t_end;
t_begin=clock();//记录开始时间
dosomething();//调用函数
t_end=clock();//记录结束时间
printf("Timeused=%.21f\n",(double)(t_end-t_begin)/CLOCKS_PER_SEC);//显示函数调用时间
扩展资料
c语言中time.h头文件的使用
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
intmain(void)
{
longi=10000000L;
clock_tstart,finish;
doubleduration;//测量一个事件持续的时间
printf("Timetodo%ldemptyloopsis",i);
start=clock();
while(i--)
finish=clock();
duration=(double)(finish-start)/CLOCKS_PER_SEC;//clock()是以毫秒为单位计算时间的所以除以CLOCKS_PER_SEC这是time.h里面定义的一个常量
printf("%fseconds\n",duration);
system("pause");
}
time.h是C标准库头文件,主要是一些和时间相关的函数,有相应的函数原型,用户只需要按照函数原型进行调用即可,这里简单介绍一下内容:
1、在time.h头文件中有几种自定义数据类型:time_t、clock_t、size_t,它们都是与long有同等意义的名字。
2、time.h头文件中给出时间和日期处理函数
long clock(void); 返回程序开始执行后占用的处理器时间。 得到时间差
delay(int n);表明延时n秒;
sleep(int n);延时n秒后刷新;
double difftime(long t2,long t1) ;返回t2-t1得值。
long mktime (struct tm*);将结构体中的当地时间转换为日历时间。 得到时间
long time (long *tp);返回当前日历时间,同时将返回值赋给*tp;
时间转换函数 得到以ASCII码表示的时间 char *asctime (const struct tm *tp);
得到字符串表示的时间 char *ctime(const time_t *tp);
得到指定格式的时间 size_t strftime(char *s,size_t smax,const char *fmt,const struct tm *tp);
3、实例:获取当前系统时间
#include <stdio.h>
#include <time.h>
int main()
{
time_t rawtime;
struct tm * timeinfo;
time ( &rawtime );
timeinfo = localtime ( &rawtime );
printf ( "The current date/time is: %s", asctime (timeinfo) );
return 0;
}
用C编程可得到系统时间:(在VC++下可通过)
#include <stdio.h>
#include <windows.h>
#include <time.h>
get_time() //时间是从1900年开始算
{
struct tm *Tm;
time_t t;
time(&t);
Tm = localtime(&t);
printf("%d-%d-%d %d:%d:%d\n",Tm->tm_year+1900,Tm->tm_mon,Tm->tm_mday,Tm->tm_hour,Tm->tm_min,Tm- >tm_sec);
//时间是从1900年开始算
return 0;
}
main()
{
for(;;)
{
get_time();
/*sysetem("cls");清屏*/
}
}
也可以产生软件的时间:
main()
{
//for(;;)
system("ping -n 60 127.0.0.1 >nul");
//计算两个time_t值的差
double difftime(time_t time1, time_time0 );
/* Returns time1 - time0 in seconds (no error return) */
//得到当前日期和时间作为time_t
time_t time( time_t *t /* NULL or returned time */
);
/* Returns time or -1 on error(errno not defined) */
参考资料: 《高级UNIX编程》