使用strptime函数(C)时,编译器会收到警告 [英] Compiler gets warnings when using strptime function (C)

查看:296
本文介绍了使用strptime函数(C)时,编译器会收到警告的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

Typing man strptime it sais that this function needs to have declared _XOPEN_SOURCE and included time.h header. I did it. But, when I try to compile my code I get:


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

./check.c:56: warning: implicit declaration of function ‘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);

有人可以告诉我我的问题来自哪里吗?

Can anyone tell me where my problem come from?

推荐答案

我发现我需要定义 __ USE_XOPEN _GNU_SOURCE 来使它变得快乐。

I've found that I needed to define __USE_XOPEN and also _GNU_SOURCE to get it to be happy.

这篇关于使用strptime函数(C)时,编译器会收到警告的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆