सी भाषा में gettimeofday फ़ंक्शन का उपयोग कैसे करें?

How Use Gettimeofday Function C Language



NS gettimeofday () फ़ंक्शन को सिस्टम की घड़ी का समय मिलता है। वर्तमान समय 00:00:00, 1 जनवरी 1970 (यूनिक्स युग) के बाद से बीता हुआ सेकंड और माइक्रोसेकंड में व्यक्त किया गया है। इस लेख में, हम आपको दिखाएंगे कि इसका उपयोग कैसे करें gettimeofday () लिनक्स में समारोह। तो चलो शुरू हो जाओ।

वाक्य - विन्यास

NSgettimeofday( structसमयावधि*शहर, structसमय क्षेत्र*tz)

NS gettimeofday () फ़ंक्शन में परिभाषित किया गया है sys/time.h शीर्ष लेख फ़ाइल।







बहस

यह फ़ंक्शन दो तर्क लेता है:



1अनुसूचित जनजातितर्क की ओर इशारा करता है समयावधि संरचना। NS समयावधि संरचना को नीचे के रूप में घोषित किया गया है sys/time.h शीर्ष लेख फ़ाइल :



structसमयावधि{
time_t tv_sec; // सेकंड के लिए उपयोग किया जाता है
suseconds_t tv_usec; // माइक्रोसेकंड के लिए उपयोग किया जाता है
}

संरचना समयबद्ध संरचना एक कैलेंडर समय का प्रतिनिधित्व करती है। इसके दो सदस्य हैं:





  • टीवी_सेकंड : यह युग के बाद से सेकंड की संख्या है।
  • tv_usec : युग के बाद से सेकंड की गणना की संख्या के बाद यह अतिरिक्त माइक्रोसेकंड है। .

2रातर्क की ओर इशारा करता है समय क्षेत्र संरचना। इसे सामान्य रूप से NULL पर सेट किया जाना चाहिए क्योंकि संरचना समयक्षेत्र अप्रचलित है। यह तर्क केवल पश्चगामी संगतता के लिए है।

वापसी मान

सफलता मिलने पर, gettimeofday () वापसी 0, विफलता के लिए फ़ंक्शन -1 देता है।



सरल समय और प्रिंट प्राप्त करें

#शामिल
#शामिल

NSमुख्य() {
structसमयावधि वर्तमान_समय;
gettimeofday(औरवर्तमान समय,शून्य);
printf ('सेकंड:% ldएनमाइक्रो सेकेंड : %ld',
वर्तमान समय।टीवी_सेकंड,वर्तमान समय।tv_usec);

वापसी 0;
}

आउटपुट:

यहां, sys/time.h के लिए शामिल किया गया है gettimeofday () कार्य और समयबद्ध संरचना। NS gettimeofday () फ़ंक्शन टाइमवल (current_time) संरचना सदस्य में समय निर्धारित करता है। tv_sec की शुरुआत के बाद से बीते हुए सेकंड की अभिन्न संख्या है यूनिक्स युग , 1 जनवरी, 1970 की मध्यरात्रि को UTC और tv_usec tv_sec से बीत चुके माइक्रोसेकंड की अतिरिक्त संख्या है। यदि आप प्रोग्राम चलाते हैं तो आपको आउटपुट देखना चाहिए। हर बार जब आप प्रोग्राम चलाते हैं तो आउटपुट बदल जाएगा।

पूर्ण तर्क त्रुटि

#शामिल
#शामिल

NSमुख्य() {

structसमयावधि वर्तमान_समय;
gettimeofday(शून्य,शून्य);
वापसी 0;
}

आउटपुट:

इस उदाहरण से पता चलता है कि का पहला तर्क gettimeofday () फ़ंक्शन NULL नहीं होना चाहिए। यदि पहला तर्क NULL है तो संकलन चेतावनी आएगी।

स्वरूपण वर्तमान समय उदाहरण

#शामिल
#शामिल
#शामिल

NSमुख्य() {
structसमय पर टीवी;
टाइम_टी टी;
structटीएम*जानकारी;
charबफर[64];

gettimeofday(औरटीवी,शून्य);
टी=टीवीटीवी_सेकंड;

जानकारी= स्थानीय समय (औरटी);
printf ('%एस', एस्कटाइम (जानकारी));
स्ट्रैफ़टाइम (बफर, का आकारबफर, 'आज% ए,% बी% डी है।एन',जानकारी);
printf ('%एस',बफर);
स्ट्रैफ़टाइम (बफर, का आकारबफर, 'समय %I:%M%p है।एन',जानकारी);
printf ('%एस',बफर);

वापसी 0;
}

आउटपुट:

इस उदाहरण में दिखाया गया है कि दिनांक और समय को अलग-अलग प्रारूप में कैसे प्रिंट किया जाए। के वापसी मूल्य से तिथियों का प्रतिनिधित्व करना बहुत आसान नहीं है gettimeofday () समारोह । यहां, स्थानीय समय() तथा स्ट्रैटटाइम () फ़ंक्शन का उपयोग के वापसी मूल्य का अच्छी तरह से प्रतिनिधित्व करने के लिए किया जाता है gettimeofday () .

NS स्थानीय समय() फ़ंक्शन एक तर्क लेता है, जो कि के एक सूचक का संदर्भ है टीवी_सेकंड का क्षेत्र संरचना समयावधि और a . के सूचक का संदर्भ देता है संरचना टीएम वस्तु।

NS स्ट्रैटटाइम () फ़ंक्शन एक व्यक्तिगत, स्वरूपित स्ट्रिंग उत्पन्न करेगा जो दिनांक और समय दिखा रहा है संरचना टीएम सूचक। प्रारूप विनिर्देशक का उपयोग स्वरूपित प्रदर्शन के लिए किया जाता है। उदाहरण के लिए, प्रारूप स्ट्रिंग %d-%m-%Y %H:%M:%S इस फॉर्म में दिनांक और समय निर्दिष्ट करता है:

04-14-2020 13:09:42

निम्नलिखित रूपांतरण विनिर्देशक हैं, जिनका उपयोग स्वरूपित प्रदर्शन के लिए किया जा सकता है:

विनिर्देशक अर्थ
%प्रति वर्तमान स्थान के अनुसार कार्यदिवस का संक्षिप्त नाम।
%प्रति वर्तमान स्थान के अनुसार कार्यदिवस का नाम।
% बी वर्तमान स्थान के अनुसार संक्षिप्त महीने का नाम।
% बी वर्तमान स्थान के अनुसार पूरे महीने का नाम।
% सी वर्तमान स्थान के लिए दिनांक और समय का पसंदीदा प्रतिनिधित्व।
%डी महीने के दिन के लिए दशमलव संख्या के रूप में (रेंज 01 - 31)।
%एच दशमलव संख्या के रूप में 24 घंटे (रेंज 00 - 23) से घंटे का उपयोग करना।
%मैं दशमलव संख्या के रूप में १२-घंटे (रेंज ०० - २३) से घंटे तक का उपयोग करना।
%जे वर्ष के दिन के लिए दशमलव संख्या के रूप में (रेंज 001-366)।
%एम महीने के लिए दशमलव संख्या के रूप में (रेंज 01 - 12)।
%एम मिनट की दशमलव संख्या।
%पी निर्दिष्ट समय मान के आधार पर, या तो 'am' या 'pm' या वर्तमान लोकेल के समकक्ष स्ट्रिंग्स।
%एस दूसरे की दशमलव संख्या।
% एक्स वर्तमान स्थान के लिए दिनांक का पसंदीदा प्रतिनिधित्व, लेकिन बिना समय के।
% एक्स वर्तमान लोकेल के लिए समय का पसंदीदा प्रतिनिधित्व, लेकिन बिना तारीख के।
%तथा वर्ष दशमलव है लेकिन कोई शतक नहीं है (सीमा 00 - 99 तक)।
%तथा वर्ष शताब्दी सहित दशमलव है।
%साथ समय क्षेत्र।

कार्यक्रम निष्पादन समय को मापने के लिए gettimeofday का उपयोग करना

#शामिल
#शामिल

NSमुख्य() {

structसमयबद्ध शुरुआत,समाप्त;
gettimeofday(औरप्रारंभ,शून्य);

के लिये (NSमैं= 0;मैं<1e5 ;मैं++) {
}

gettimeofday(औरसमाप्त,शून्य);
printf ('10^5 तक गिनने में लगा समय है : %ld माइक्रो सेकेंड'एन',
((समाप्त।टीवी_सेकंड * 1000000 +समाप्त।tv_usec) -
(प्रारंभ।टीवी_सेकंड * 1000000 +प्रारंभ।tv_usec)));

वापसी 0;
}

आउटपुट:

यह उदाहरण दिखाता है कि कैसे gettimeofday () फ़ंक्शन का उपयोग किसी प्रोग्राम के निष्पादन समय की गणना के लिए किया जा सकता है।

निष्कर्ष

इस प्रकार, gettimeofday () लिनक्स में फ़ंक्शन का उपयोग किया जा सकता है। मौजूदा कोड को पोर्ट करने के लिए, gettimeofday () फ़ंक्शन का उपयोग किया जा सकता है लेकिन नए कोड में इसका उपयोग नहीं किया जाना चाहिए। घड़ी_गेटटाइम () समारोह के बजाय इस्तेमाल किया जा सकता है gettimeofday () .