请教:提示段错误,如何解决呀
我是一个刚接触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:%dn",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 编辑 ]
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
授人于鱼,不如授人于渔.
学着用gdb来调试程序吧!
恩,是的,我之后用这两种方法都解决了这个问题,谢谢啊,果然都是高手啊~~~
>>struct tm *SYSTime
你这个指针没有初始化.
SYSTime = malloc(sizeof(struct tm)); 之后就好用了.
或者 struct tm SYSTime.
不好意思啊,发了两次,你去上面的一个帖子看看把,我又出现新问题了,我郁闷啊。
報的什麼錯誤?