免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5634 | 回复: 5
打印 上一主题 下一主题

[函数] 请教一个关于mktime函数的很奇怪的问题! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-10-27 21:40 |只看该作者 |倒序浏览
我的操作系统是AIX4.3.3,代码如下,两个printf语句打印出来的结果不一样。但如果将date1,date2的声明去掉,则结果正常。
在下愚钝,久思不得其解,望高手不吝赐教,先谢过。
  1. #include <string.h>;
  2. #include <stdio.h>;
  3. #include <stdlib.h>;
  4. #include <time.h>;

  5. int main()
  6. {
  7.     struct tm tm1;
  8.     long ltime;
  9.     char date1[16]="";
  10.     char date2[16]="";
  11.    
  12.     tm1.tm_sec=0;
  13.     tm1.tm_min=0;
  14.     tm1.tm_hour=0;
  15.     tm1.tm_mday=1;
  16.     tm1.tm_mon=11;
  17.     tm1.tm_year=100;
  18.     printf("aaa\n");
  19.     printf("%d,%.2d,%.2d,%.2d,%.2d,%.2d\n",tm1.tm_year+1900,tm1.tm_mon+1,tm1.tm_mday,tm1.tm_hour,tm1.tm_min,tm1.tm_sec);
  20.     ltime=mktime(&tm1);
  21.     printf("%d,%.2d,%.2d,%.2d,%.2d,%.2d\n",tm1.tm_year+1900,tm1.tm_mon+1,tm1.tm_mday,tm1.tm_hour,tm1.tm_min,tm1.tm_sec);

  22.     return 1;
  23. }
复制代码

打印结果为:
  1. 2000,12,01,00,00,00
  2. 2000,11,30,23,00,00
复制代码

论坛徽章:
0
2 [报告]
发表于 2004-10-28 07:35 |只看该作者

请教一个关于mktime函数的很奇怪的问题!

我看看,好像没问题,不知道是不是mktime 和系统有关系,有的系统有BUG。
前面加一句
  1. memset ( &tm1, 0, sizeof(tm1) );
复制代码

在你的系统上试试看。

论坛徽章:
0
3 [报告]
发表于 2004-10-28 09:34 |只看该作者

请教一个关于mktime函数的很奇怪的问题!

多谢楼上的朋友,加上memset后果然问题解决了。
但其中的原因还是很难理解,可能真的就是BUG吧:)

论坛徽章:
0
4 [报告]
发表于 2004-10-28 09:50 |只看该作者

请教一个关于mktime函数的很奇怪的问题!

夏时制了嘛!和尚头顶的虱子——明摆着!

论坛徽章:
0
5 [报告]
发表于 2004-10-30 10:17 |只看该作者

请教一个关于mktime函数的很奇怪的问题!

mktime函数会改变传入参数tm的值吗?

论坛徽章:
0
6 [报告]
发表于 2006-07-20 10:39 |只看该作者
遇到类似的问题搜到这
mktime函数会改变传入参数tm的值
void main()
{
tm tmDate = {0};
tmDate.tm_mday=31;
tmDate.tm_mon=1;
tmDate.tm_year=106;
time_t m_time=mktime(&tmDate);
cout<<m_time<<endl;
cout<<tmDate.tm_year<<endl;
cout<<tmDate.tm_mon<<endl;
cout<<tmDate.tm_mday<<endl;
}
输出为
106
2
3
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP