我正在解决 spoj 问题,其中当前时间戳被平方,然后除以 400000007,余数转换为 dat 时间 下面是我使用的技术..
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
是 struct tm *,而且我试图将余数转换为time_t
变量,但仍然有效。此外,注释代码显示了我的尝试。使用调试器,我发现 asctime 返回 null 。
问题出在哪里 ?