c语言函数详细介绍(C语言库中的一些常用函数)
c语言函数详细介绍(C语言库中的一些常用函数)time范例范例:time_t time(time_t *t);其中time_t也就是长整型long,定义:typedef long time_t;该函数返回自格林威治时间1970年1月1日00:00:00到当前时间经过的秒数,其中参数是一个指针,将当前的时间秒数保存到所指向的内存空间中,并且返回该时间。
今天这篇本想介绍数据结构中的数组与广义表,但是感觉介绍一些C库中的一些函数反而更受欢迎,有鉴于此,决定今后每介绍一篇数据结构,接下来两篇就介绍C库中函数的一些用法,毕竟要想让自己的编程能力更上一层楼,两者缺一不可。
一、time()函数:
该函数作用是获取系统时间。
其一般形式为:
time_t time(time_t *t);
其中time_t也就是长整型long,定义:typedef long time_t;
该函数返回自格林威治时间1970年1月1日00:00:00到当前时间经过的秒数,其中参数是一个指针,将当前的时间秒数保存到所指向的内存空间中,并且返回该时间。
范例:
time范例
运行结果:
运行结果
二、localtime()函数:
功能:该函数用于获取时间结构体格式的系统时间。
其一般形式为:
tm *localtime(long *clock);
该函数返回一个tm类型的指针,tm是一个结构体类型,其定义形式为:
struct tm{
int tm_sec; //指秒,范围[0 59]
int tm_min; //分,范围[0 59]
int tm_hour; //时,范围[0 23]
int tm_mday; //一月中的第几天 范围[1 31],要是获取当前时间,今天是18号,那值就为18
int tm_mon; //月份,范围[0 11],获取当前时间,如今天是3月18,那么值为2
int tm_year; //自1900年以来的年数,如今年2018年,那么其值为118
int tm_wday; //一周中的第几天,范围[0 6],如获取当前时间,今天是周日,那么其值为0
int tm_yday; //一年中的第几天,范围[0 365]
int tm_isdst; //夏令时,现在我国已经取消,一般为0
}
参数:clock表示需要转换的时间。
注意:调用localtime函数后,应立即获取到结构体tm中的内容,因为如果再调用一次该函数或gmtime函数时就会覆盖掉tm中的内容。
范例:
localtime范例
运行结果:
运行结果
三、asctime()函数:
该函数功能为:用于将tm结构类型时间日期转换为ascii码。
其一般形式如下:
char *asctime(const struct tm *t);
参数:t为要转换的结构体类型的时间。
返回值:返回转换后的字符串指针。
可以看出,上面localtime函数返回tm类型的指针,而该函数的参数类型为tm类型的指针,因此可以合用。
该函数也由时区转换为当地时间。下面看一下范例:
asctime范例
运行结果:
运行结果
注意,如若再一次调用时间日期的时间函数,返回的字符串可能会被破坏。
四、ctime()函数:
其一般形式如下:
char *ctime(const time_t *t);
该函数的作用是,将t中的信息转换成真实世界所使用的日期与时间。
返回值:为指向转换后的字符串。
由上面time函数的返回值可以得到,可以跟此函数合用。
注意:由于其返回值指向一个内部数组,它的返回值可能会被之后调用的相关时间函数(如ctime,asctime) 所改变。
范例:
ctime范例
运行结果:
运行结果
五、gmtime()函数:
作用:该函数的作用是把日期和时间转换为真实世界所使用的时间和日期。并将结果以tm结构返回。
其一般形式为:
struct tm *gmtime(long *clock);
参数clock为要转换的时间。
此函数返回的时间日期并未时区转换,因此还是格林尼治时间。
范例:
范例
运行结果:
运行结果
我们可以看出时间两者时间差为8小时。
六、difftime()函数:
其一般形式为:
double difftime(time_t t1 time_t t2);
参数:t1 t2为指定的函数(t2>t1)。
功能:返回t2时间与t1之间的时间差距。
返回值为double类型,以秒为单位。
好了,今天暂时只介绍到这里,上面介绍的是常用的,当然还有tzser与clock函数,不难,没有难点细节需要介绍,可以自己查阅。