- 论坛徽章:
- 0
|
修改后的程序如下,段错误的问题已经解决了,但是却出现两个警告:
time.c: In function `main':
time.c:41: warning: passing arg 1 of `mktime' from incompatible pointer type
time.c:47: warning: assignment from incompatible pointer type
上面的朋友能不能帮我解决下呀。谢谢!!!
#include <sys/time.h>
#include <unistd.h>
#include <stdio.h>
#include <time.h>
int main()
{
int sec;
int min;
int hour;
int mday;
int mon;
int year;
struct tm
{
int tm_sec;
int tm_min;
int tm_hour;
int tm_mday;
int tm_mon;
int tm_year;
}tim, *SYSTime;
SYSTime = &tim;
time_t timep;
time_t timepp;
struct timeval tv;
struct tm *p;
printf("请输入当前的年、月、日、时、分、秒\n");
scanf("%d%d%d%d%d%d", &year, &mon, &mday, &hour, &min, &sec);
/* 把输入的当前时间写入为系统时间 */
SYSTime->tm_sec = sec;
SYSTime->tm_min = min;
SYSTime->tm_hour = hour;
SYSTime->tm_mday = mday;
SYSTime->tm_mon = mon-1;
SYSTime->tm_year = year-1900;
timep = mktime(SYSTime);
tv.tv_sec =(long)timep;
tv.tv_usec = 0;
settimeofday(&tv, NULL);
timepp = (time_t)tv.tv_sec;
p = localtime(&timepp);
printf("%d/%d/%d %d:%d:%d\n",1900+p->tm_year, 1+p->tm_mon, p->tm_mday,
p->tm_hour, p->tm_min, p->tm_sec);
exit(0);
} |
|