请教:提示段错误,如何解决呀

发布于 2022-07-18 08:05:14 字数 1887 浏览 32 评论 5

我是一个刚接触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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

时光病人 2022-07-22 12:21:30

授人于鱼,不如授人于渔.
学着用gdb来调试程序吧!

ゝ偶尔ゞ 2022-07-22 10:19:38

恩,是的,我之后用这两种方法都解决了这个问题,谢谢啊,果然都是高手啊~~~

宫墨修音 2022-07-22 07:34:39

>>struct tm *SYSTime

你这个指针没有初始化.

SYSTime = malloc(sizeof(struct tm)); 之后就好用了.

或者 struct tm  SYSTime.

自找没趣 2022-07-22 05:56:59

不好意思啊,发了两次,你去上面的一个帖子看看把,我又出现新问题了,我郁闷啊。

野味少女 2022-07-21 05:18:21

報的什麼錯誤?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文