ctime使用注意事项

ctime是c库中的一个将获取到的时间转化为字符串格式,
函数: ctime

功 能: 把日期和时间转换为字符串

用 法:
char *ctime(const time_t *time);
一般使用方法如下:

#include
#include
int main(void)
{
  time_t t;
  t=time(&t);
  printf("Today'sdateandtime:%s\n",ctime(&t));
  return 0;
}

但是,如果这样使用:

{
  time_t tYest;
  time_t tToday;
  tYest=time(&tYest);
  tToday=time(&tToday);
  printf("Yestoday's date and time is:%s, Today's date and time is:%s\n",ctime(&tYest), ctime(&tToday);
  return 0;
}

你会发现得不到昨天的日期和时间,为什么呢?
这是因为ctime() 函数使用一个静态缓冲区来存储其结果。因此,当第二个ctime() 调用 printf 函数中,ctime() 会覆盖第一个 ctime() 调用返回的值。
所以,如果调用printf打印的话,不要在一个printf中连续使用两个ctime函数

你可能感兴趣的:(ctime使用注意事项)