使用strptime函数(C)时,编译器会收到警告 [英] Compiler gets warnings when using strptime function (C)
本文介绍了使用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屋!
查看全文