键入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);
有人能告诉我问题的来源吗?
答案 0 :(得分:19)
我发现我需要定义__USE_XOPEN
和_GNU_SOURCE
来让它变得快乐。