strptime give"隐含声明"和"未定义的参考"

时间:2016-02-05 21:52:00

标签: c strptime time.h

所以,当我使用函数strptime时,我得到一个警告:

warning: implicit declaration of function 'strptime'

之后出现错误:

undefined reference to 'strptime'

是的,我已加入time.h。这是我使用它的一个小示例代码。

#include <time.h>

void my_function()
{
    char buf* = "2016-02-05 12:45:10";
    struct tm time*;
    ...
    strptime(buf, "%F %T", &time);
    ...
}

我知道time.h正在运作,因为在同一个.c文件中,我使用strftimetime_t'struct tm来自time.h 1}}没有问题。我知道它是strptime,因为当我评论这行代码时,它编译没有任何问题。

1 个答案:

答案 0 :(得分:0)

您缺少告诉我们您的平台,编译器版本,参数......

在任何情况下,strptime都不在标准C中,而是在POSIX中。可能你的编译器选项错误,因此它没有为你提供C语言的POSIX扩展。例如,gcc可以使用-std=gnu11而不是-std=c11