- 论坛徽章:
- 0
|
我是一个刚接触Linux下C编程的菜鸟。编了个程序,编译能通过,但是运行时系统时间可以更改,但是最后出来一个段错误的提示,不知道是哪里出问题了,请各位大虾帮帮忙,谢谢!
程序如下:(修改系统时间的程序)
#include <sys/time.h>
#include <unistd.h>
#include <stdio.h>
#include <time.h>
int main()
{
struct tm *SYSTime;
int sec;
int min;
int hour;
int mday;
int mon;
int year;
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);
}
[ 本帖最后由 robin30 于 2006-4-4 13:50 编辑 ] |
|