5
man strptime
yazarak, bu işlevin _XOPEN_SOURCE bildirilmiş olması ve time.h başlığının dahil edilmiş olması gerekir. Yaptım. Kodumu derlemeye çalıştığınızda Ama olsun:Derleyici, strptime işlevini kullanırken uyarı alır (C)
./check.c:56: Uyarı:
: function 'strptime' benim koduint 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; }
Look örtük bildirim
Ayrıca işlev bildirimi:
char *strptime(const char *s, const char *format, struct tm *tm);
Sorunun nereden geldiğini bana kim söyleyebilir?
Öyleydi, teşekkürler! Linux makinemde 'insanın strptime' yanlış olması garip; Benim için çalışmayan _XOPEN_SOURCE' yazıyor. Bununla birlikte, '_GNU_SOURCE' hakkında emin değilim. '__USE_XOPEN' benim için kendi başına çalışıyor gibi görünüyor. – lpapp
'#include 'işlevini kullanmadan önce' #define __USE_XOPEN' kullandığınızdan emin olun –