编译器在使用strptime函数时会收到警告(C)

时间:2013-03-11 09:01:07

标签: c compiler-warnings strptime

键入man strptime,这个函数需要声明_XOPEN_SOURCE并包含time.h标头。我做的。但是,当我尝试编译我的代码时,我得到:

  

./ check.c:56:警告:隐含声明函数'strptime'

看看我的代码:

int lockExpired(const char *date, const char *format, time_t current) {
        struct tm *tmp = malloc(sizeof(struct tm *));
        time_t lt;
        int et;

        strptime(date, format, tmp);
        lt = mktime(tmp);
        et = difftime(current, lt);

        if (et < 3600)
                return -et;

        return 1;
}

函数声明也是:

char *strptime(const char *s, const char *format, struct tm *tm);

有人能告诉我问题的来源吗?

1 个答案:

答案 0 :(得分:19)

我发现我需要定义__USE_XOPEN_GNU_SOURCE来让它变得快乐。