टाइपिंग 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);
क्या कोई मुझे बता सकता है कि मेरी समस्या कहां से आती है?
वह था, धन्यवाद! यह अजीब बात है कि मेरी लिनक्स मशीन पर 'मैन स्ट्रिपटाइम' गलत है; यह '_XOPEN_SOURCE' लिखता है जो मेरे लिए काम नहीं करता है। ऐसा कहा जा रहा है, हालांकि मुझे '_GNU_SOURCE' के बारे में निश्चित नहीं है। लगता है कि '__USE_XOPEN' मेरे लिए स्वयं पर काम करता है। – lpapp
सुनिश्चित करें कि आप '#declude' का उपयोग करने से पहले '#define __USE_XOPEN' का उपयोग करें' –