再问一下mktime返回值是-1怎么回事啊?
发布网友
发布时间:2022-04-22 16:46
我来回答
共1个回答
热心网友
时间:2023-04-30 11:03
这个程序本身就有错,不能运行啊。
我稍微修改了下,代码如下。不知道有没符合你的要求?
#include <stdio.h>
#include <time.h>
#include <conio.h>
void main()
{
int y=2010,m=4,d=4,hh=1,mm=2,ss=3;
time_t curr;
struct tm timecube;
struct tm *ptime;
// time(&curr);
// printf("%d\n",curr);
timecube.tm_year=y-1900;
timecube.tm_mon=m-1;
timecube.tm_mday=d;
timecube.tm_hour=hh;
timecube.tm_min=mm;
timecube.tm_sec=ss;
ptime=&timecube;
curr=mktime(ptime);
if(-1 == curr)
printf("时间有误");
printf("%ld",curr);
getch();
}
关键是对于struct tm结构体的赋值,加上了
timecube.tm_hour=hh;
timecube.tm_min=mm;
timecube.tm_sec=ss;
最后一行可以省略,其他都要赋值。