Wpisanie man strptime
oznacza, że funkcja ta musi zadeklarować _XOPEN_SOURCE i uwzględnić nagłówek time.h. Ja to zrobiłem. Ale gdy próbuję skompilować mój kod otrzymuję:Kompilator otrzymuje ostrzeżenia podczas korzystania z funkcji strptime (C)
./check.c:56: ostrzeżenie: niejawna deklaracja funkcji 'strptime'
Spójrz na mój kodu:
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;
}
również deklaracja funkcji to:
char *strptime(const char *s, const char *format, struct tm *tm);
Czy ktoś może mi powiedzieć skąd bierze się mój problem?
To wszystko, dzięki! To dziwne, że 'strptime man 'jest błędne na mojej maszynie Linux; zapisuje '_XOPEN_SOURCE', które nie działa dla mnie. Mimo to nie jestem pewien co do '_GNU_SOURCE'. "__USE_XOPEN" wydaje się działać samodzielnie dla mnie. – lpapp
upewnij się, że używasz '#define __USE_XOPEN' zanim użyjesz' #include ' –