localtime函数在vc++2005中的使用问题

程序如下 :

struct tm *ltime;
ltime 
= localtime((time_t *)&header->ts.tv_sec);   //header->ts.tv_sec为long类型
//
编译通过后运行,出现错误expression(*ptime <= _MAX_TIME64_T),通过调试(time_t *)&header->ts.tv_se
   //c所指向的地址的内容为一个很大的负数,并不等于header->ts.tv_sec.所以问题出在类型强转上,只是我还 是搞不清楚为什么出现这个问题,后来的解决方案如下:
__int64 aa 
= header->ts.tv_sec;
ltime 
= localtime(&aa);
//这样就正常了,本程序是在vc++2005环境下使用winpcap开发,在vc6,0中并不需要强转.
//ltime = localtime(&header->ts.tv_sec);

posted on 2007-10-25 22:01  imgogogo  阅读(688)  评论(0编辑  收藏  举报

导航