我正在解决其中当前时间戳由400000007 sqaured再分,而其余被转换成DAT时间低于 SPOJ问题 为i所使用的技术..转换长的数字日期,时间用C
所示remainder = result%4000000007 ;
printf("%ul\n",remainder);
//convert the timestamp into date , time
dt = localtime(&remainder);
// use any strftime format spec here
// strftime(b, sizeof(b), "%m%d%H%M%y", dt);
// fprintf(stdout, "%s", b);
// printf("%s\n",asctime(localtime(&remainder)));
ltime = (time_t)remainder;
printf("%s\n",asctime(dt));
printf("%s\n",ctime(<ime));
错误是分段故障,在asctime
,也ltime
是time_t的变量,“b”是一个缓冲器,dt
是结构TM *,并且还我试图余量转换成time_t
变量,但仍然力工作。此外,评论代码显示了我的尝试。 使用调试器,我发现asctime返回null。
问题在哪里?
余数和结果至少是一个long long(64位整数)?此外,所有启用/ wAll的编译器警告? – 2013-04-23 23:09:40
是的,他们是无符号long long – Subbu 2013-04-23 23:12:04
@MichaelDorgan:但我不知道他们是否是64位 – Subbu 2013-04-23 23:17:56