- 1 -
如下是我在读 index.cpp 文件时所遇到的几个函数,已用红笔标出:
通常对于一个程序来说可以确定时间与日期是十分用的。也许他要记录其运行的时间,或者是
他要一个特定的时间改变其形为。例如,一个游戏程序也许不会在工作时间运行,或者是一个备份
调度会在启动自动备份之前等待早些的工作完成。
所有的 Unix 系统对于时间与日期都使用相同的起始点:1970年1月1日午午夜 GMT。这 是
Unix 的创世纪,而 Linux 也不例外。而在 Linux 系统中所有的时间都是以秒记量的。这与 MS-DOS
处理时间的方式相似,所不同是 MS-DOS 是由 1980 年开始的。其他的系统使用其他的记时起始时
间。
时间是使用一个定义的 time_t 类型来处理。这是一个足够大的整数类型来包含以秒计的日期
与时间值。在 Linux 系统上,他是一个长整数,其定义以及相关的操作函数都定义在头文件 time.h
中。
不要认为时间是 32 位的。在 Unix 以及 Linux 系统上使用一个 32 位的 time_t 类型,而这个时
间会在 2038 年重叠。到那时,我们希望这些系统都使用一个大于 32 位的 time_t 类型。
#include <time.h>
time_t time(time_t *tloc);
我们可以调用 time 函数来得到一个底层的时间值,这个函数会返回由纪元起点开始的秒数。
如果 tloc 不为空指针,函数就会将返回值写入 tloc 所指的变量中。
试验--时间
这里是一个简单的时间程序,envtime.c,来演示 time 函数:
#include <time.h>
#include <stdio.h>
#include <unistd.h>
int main()
{
int i;
time_t the_time;
for(i = 1; i <= 10; i++) {
the_time = time((time_t *)0);
printf(“The time is %ld”, the_time);