读书人

输出时间有关问题为什么时间不变!

发布时间: 2012-04-09 13:41:25 作者: rapoo

输出时间问题,为什么时间不变!!!!
下面这段测试代码有什么问题,为什么输出的时间不正确,

C/C++ code
#include <stdio.h>#include <string.h>#include <time.h>int main(){    struct tm *ptr;    struct tm *ptest;    time_t lt;    lt = time(NULL);    printf("%s\n",ctime(&lt));    time_t test;    test = lt + 10000000;    ptr = localtime(&lt);    ptest = localtime(&test);    printf("second:%d\n",ptr->tm_sec);    printf("minutes:%d\n",ptr->tm_min);    printf("hour:%d\n",ptr->tm_hour);    printf("mday:%d\n",ptr->tm_mday);    printf("mon:%d\n",ptr->tm_mon);    printf("year:%d\n", ptr->tm_year);        printf("\n");    printf("second:%d\n",ptest->tm_sec);    printf("minutes:%d\n",ptest->tm_min);    printf("hour:%d\n",ptest->tm_hour);    printf("mday:%d\n",ptest->tm_mday);    printf("mon:%d\n",ptest->tm_mon);    printf("year:%d\n", ptest->tm_year);    getchar();    return 0;}


[解决办法]
ptest = localtime(&test);
这行要等输出完ptr在赋值
localtime函数返回的是一个全局的指针,
ptr = localtime(&lt);
ptest = localtime(&test);
ptest和ptr是同一个指针

读书人网 >C++

热点推荐