预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

1.时间表示在程序当中,我们经常要输出系统当前的时间,比如我们使用date命令的输出结果。这个时候我们可以使用下面两个函数 time_ttime(time_t*tloc);//时间精度为秒char*ctime(consttime_t*clock);//将秒数转化为字符串 time函数返回从1970年1月1日0点以来的秒数[注意,此函数返回的时间精度是“秒”]。存储在time_t结构之中。不过这个函数的返回值对于我们来说没有什么实际意义。这个时候我们使用第二个函数将秒数转化为字符串。这个函数的返回类型是固定的:一个可能值为。thudec714:58:592000这个字符串的长度是固定的为26time_t类型实际上是由typedef定义的,并不是一个新类型,对于多数系统来说,time_t就是long,具体自己使用的系统是由哪种类型派生的,可以在time.h头文件里用time_t作为条件查一查就知道了。 类似的,size_t也是同样的道理。 另外: structtm*gmtime(consttime_t*timer);gmtime()函数是将日历时间转化为世界标准时间(即格林尼治时间),并返回一个tm结构体来保存这个时间structtm*localtime(consttime_t*timer);localtime()函数是将日历时间转化为本地时间 示例代码:#include<time.h>//注:不是<sys/time.h>否则编译不报错,但运行报段错误#include<stdio.h> intmain(){time_tnow;now=time(NULL);printf("%s",ctime(&now));return0;}输出:TueJun2616:29:182007 指定时间的方法: #include"time.h"#include"stdio.h"#include"stdlib.h" intmain(void){structtmt;//定义tm时间结构,用来存储时间格式的数据信息time_tt_of_day;//定义time_t时间结构t.tm_year=2006-1900;//以1900年为标准计算时间t.tm_mon=6;//为结构体成员赋值t.tm_mday=1;t.tm_hour=0;t.tm_min=0;t.tm_sec=1;t.tm_isdst=0;t_of_day=mktime(&t);//使用mktime()函数将用tm结构表示的时间转化为日历时间:time_t型变量。//其函数原型如下:time_tmktime(structtm*timeptr);//ctime()函数(参数为time_t结构)将时间以固定的格式显示出来,返回值是char*型的字符串。return0;} 其中在标准C/C++中,我们可通过tm结构来获得日期和时间,tm结构在time.h中的定义如下: structtm{inttm_sec;inttm_min;inttm_hour;inttm_mday;inttm_mon;inttm_year;inttm_wday;inttm_yday;inttm_isdst;}; 2.时间的测量有时候我们要计算程序执行的时间。比如我们要对算法进行时间分析。这个时候可以使用下面这个函数。#include<sys/time.h> intgettimeofday(structtimeval*tv,structtimezone*tz);//时间精度为微秒 struttimeval{longtv_sec;longtv_usec;}; gettimeofday将时间保存在结构tv之中,struttimevalgivesthenumberofsecondsandmicrosecondssincetheEpoch,(00:00:00UTC,January1,1970),measuredinmicroseconds.tz(即timezone,很少用到)一般我们使用null来代替。 示例代码: #include<sys/time.h>//forgettimeofday()#include<stdio.h>voidfunction(){unsignedinti,j;doubley;for(i=0;i<4000;i++)for(j=0;j<40000;j++){}} main(){structtimevaltpstart,tpend;floattimeuse; gettimeofday(&tpstart,0);function();gettimeofday(&tpend,0);timeuse=1000000*(tpend.tv_sec-tpstart.tv_sec)+//注意,秒的读数和微秒的读数都应计算在内tpend.tv_us