சி மொழியில் gettimeofday செயல்பாட்டை எவ்வாறு பயன்படுத்துவது?

How Use Gettimeofday Function C Language



தி நாள்நேரம் () செயல்பாடு கணினியின் கடிகார நேரத்தைப் பெறுகிறது. தற்போதைய நேரம் 00:00:00, ஜனவரி 1, 1970 (யூனிக்ஸ் சகாப்தம்) முதல் கடந்த வினாடிகள் மற்றும் மைக்ரோ விநாடிகளில் வெளிப்படுத்தப்படுகிறது. இந்த கட்டுரையில், அதை எவ்வாறு பயன்படுத்துவது என்பதை நாங்கள் உங்களுக்குக் காண்பிக்கப் போகிறோம் நாள்நேரம் () லினக்ஸில் செயல்பாடு. எனவே, ஆரம்பிக்கலாம்.

தொடரியல்

intநாள் கிடைக்கும்( கட்டமைப்புகால அவகாசம்*நகரம், கட்டமைப்புநேரம் மண்டலம்*tz)

தி நாள்நேரம் () செயல்பாடு வரையறுக்கப்பட்டுள்ளது sys/time.h தலைப்பு கோப்பு.







வாதங்கள்

இந்த செயல்பாடு இரண்டு வாதங்களை எடுக்கிறது:



1ஸ்டம்ப்வாதம் சுட்டிக்காட்டுகிறது கால அவகாசம் அமைப்பு தி கால அவகாசம் கட்டமைப்பு கீழே அறிவிக்கப்பட்டுள்ளது sys/time.h தலைப்பு கோப்பு:



கட்டமைப்புகால அவகாசம்{
நேரம்_ tv_sec; // வினாடிகளுக்கு பயன்படுத்தப்படுகிறது
suseconds_t tv_usec; // மைக்ரோ வினாடிகளுக்கு பயன்படுத்தப்படுகிறது
}

கட்டமைப்பு நேர அமைப்பு ஒரு காலண்டர் நேரத்தைக் குறிக்கிறது. இதில் இரண்டு உறுப்பினர்கள் உள்ளனர்:





  • tv_sec : இது சகாப்தத்திலிருந்து வினாடிகளின் எண்ணிக்கை.
  • tv_usec : இது சகாப்தத்திலிருந்து பல வினாடிகளின் கணக்கீட்டிற்குப் பிறகு கூடுதல் மைக்ரோ வினாடிகள் ஆகும். .

2ndவாதம் சுட்டிக்காட்டுகிறது நேரம் மண்டலம் அமைப்பு இது பொதுவாக NULL என அமைக்கப்பட வேண்டும் கட்டமைப்பு நேர மண்டலம் காலாவதியானது. இந்த வாதம் பின்தங்கிய இணக்கத்திற்காக மட்டுமே.

திரும்ப மதிப்புகள்

வெற்றி குறித்து, தி நாள்நேரம் () திரும்ப 0, தோல்விக்கு செயல்பாடு திரும்பும் -1.



எளிமையான நேரம் மற்றும் அச்சு கிடைக்கும்

#சேர்க்கிறது
#சேர்க்கிறது

intமுக்கிய() {
கட்டமைப்புநேர இடைவெளி தற்போதைய_ நேரம்;
நாள் கிடைக்கும்(&தற்போதைய நேரம்,ஏதுமில்லை);
printf (நொடிகள்: %ld nமைக்ரோ வினாடிகள்: %ld ',
தற்போதைய நேரம்.tv_sec,தற்போதைய நேரம்.tv_usec);

திரும்ப 0;
}

வெளியீடு:

இங்கே, sys/time.h க்கு சேர்க்கப்பட்டுள்ளது நாள்நேரம் () செயல்பாடு மற்றும் கால அவகாசம். தி நாள்நேரம் () செயல்பாட்டானது நேரத்தின் நேரத்தை அமைக்கிறது (தற்போதைய_நேரம்) அமைப்பு உறுப்பினர். tv_sec என்பது தொடங்கியதிலிருந்து கடந்து சென்ற வினாடிகளின் ஒருங்கிணைந்த எண்ணிக்கை யுனிக்ஸ் சகாப்தம் , ஜனவரி 1, 1970 அன்று நள்ளிரவு UTC மற்றும் tv_usec என்பது tv_sec இலிருந்து கூடுதல் மைக்ரோ விநாடிகள் கடந்துவிட்டது. நீங்கள் நிரலை இயக்கினால், நீங்கள் வெளியீட்டைப் பார்க்க வேண்டும். ஒவ்வொரு முறையும் நீங்கள் நிரலை இயக்கும்போது வெளியீடு மாறும்.

NULL வாதம் பிழை

#சேர்க்கிறது
#சேர்க்கிறது

intமுக்கிய() {

கட்டமைப்புநேர இடைவெளி தற்போதைய_ நேரம்;
நாள் கிடைக்கும்(ஏதுமில்லை,ஏதுமில்லை);
திரும்ப 0;
}

வெளியீடு:

இந்த உதாரணத்தில் அந்த முதல் வாதத்தைக் காட்டுகிறது நாள்நேரம் () செயல்பாடு பூரணமாக இருக்கக்கூடாது. முதல் வாதம் NULL என்றால் தொகுப்பு எச்சரிக்கை வரும்.

தற்போதைய நேர உதாரணத்தை வடிவமைத்தல்

#சேர்க்கிறது
#சேர்க்கிறது
#சேர்க்கிறது

intமுக்கிய() {
கட்டமைப்புநேர இடைவெளி தொலைக்காட்சி;
நேரம்_ டி;
கட்டமைப்புtm*தகவல்;
கரிஇடையகம்[64];

நாள் கிடைக்கும்(&தொலைக்காட்சி,ஏதுமில்லை);
டி=தொலைக்காட்சிtv_sec;

தகவல்= உள்ளூர் நேரம் (&டி);
printf ('%s', asctime (தகவல்));
strftime (இடையகம், அளவுஇடையகம், இன்று %A, %B %d. n',தகவல்);
printf ('%s',இடையகம்);
strftime (இடையகம், அளவுஇடையகம், நேரம் %I: %M %p. n',தகவல்);
printf ('%s',இடையகம்);

திரும்ப 0;
}

வெளியீடு:

இந்த எடுத்துக்காட்டில் வெவ்வேறு வடிவத்தில் தேதி மற்றும் நேரத்தை எப்படி அச்சிடுவது என்பதைக் காட்டுகிறது. திரும்பும் மதிப்பில் இருந்து தேதிகளைக் குறிப்பிடுவது மிகவும் எளிதானது அல்ல நாள்நேரம் () செயல்பாடு இங்கே, உள்ளூர் நேரம்() மற்றும் strftime () செயல்பாடுகள் திரும்பும் மதிப்பை நன்றாகக் குறிக்கப் பயன்படுகின்றன நாள்நேரம் () .

தி உள்ளூர் நேரம்() செயல்பாடு ஒரு வாதத்தை எடுத்துக்கொள்கிறது, இது ஒரு சுட்டிக்காட்டியின் குறிப்பு tv_sec துறையில் கட்டமைப்பு நேரம் மற்றும் ஒரு சுட்டிக்காட்டிக்கு ஒரு குறிப்பை வழங்குகிறது ஸ்ட்ரக்ட் டிஎம் பொருள்

தி strftime () செயல்பாடு தேதி மற்றும் நேரத்தைக் காட்டும் தனிப்பயனாக்கப்பட்ட, வடிவமைக்கப்பட்ட சரத்தை உருவாக்கும் ஸ்ட்ரக்ட் டிஎம் சுட்டிக்காட்டி. வடிவமைப்பு விவரக்குறிப்புகள் வடிவமைக்கப்பட்ட காட்சிக்கு பயன்படுத்தப்படுகின்றன. எடுத்துக்காட்டாக, வடிவம்%d-%m-%Y%H:%M:%S இந்த வடிவத்தில் தேதி மற்றும் நேரத்தைக் குறிப்பிடுகிறது:

04-14-2020 13:09:42

பின்வருபவை மாற்று விவரக்குறிப்புகள், வடிவமைக்கப்பட்ட காட்சிக்கு பயன்படுத்தப்படலாம்:

குறிப்பான் பொருள்
%க்கு தற்போதைய இடத்தின் படி வாரத்தின் சுருக்கமான பெயர்.
%TO தற்போதைய இடத்தின் படி வாரத்தின் பெயர்.
% ஆ தற்போதைய மொழியின் படி சுருக்கமான மாதத்தின் பெயர்.
% பி தற்போதைய மொழியின் படி முழு மாதத்தின் பெயர்.
% சி தற்போதைய இருப்பிடத்திற்கான தேதி மற்றும் நேரத்தின் விருப்பமான பிரதிநிதித்துவம்.
%d மாத நாளுக்கான தசம எண்ணாக (வரம்பு 01 - 31).
%எச் 24 மணிநேரத்தை (வரம்பு 00-23) மணிநேரத்திற்கு தசம எண்ணாகப் பயன்படுத்துதல்.
%நான் 12-மணிநேரம் (வரம்பு 00-23) மணிநேரத்திற்கு தசம எண்ணாகப் பயன்படுத்துதல்.
%ஜே ஆண்டின் நாளின் தசம எண்ணாக (வரம்பு 001-366).
%மீ மாதத்திற்கான தசம எண்ணாக (வரம்பு 01 - 12).
%எம் நிமிடத்தின் தசம எண்.
%p குறிப்பிட்ட நேர மதிப்பின் அடிப்படையில், 'am' அல்லது 'pm' அல்லது தற்போதைய இடத்திற்கான சமமான சரங்கள்.
%எஸ் இரண்டாவது தசம எண்.
% எக்ஸ் தற்போதைய இடத்திற்கான தேதியின் விருப்பமான பிரதிநிதித்துவம், ஆனால் நேரம் இல்லாமல்.
% எக்ஸ் தற்போதைய இடத்திற்கான நேரத்தின் விருப்பமான பிரதிநிதித்துவம், ஆனால் தேதி இல்லாமல்.
%மற்றும் ஆண்டு தசமம் ஆனால் நூற்றாண்டு இல்லை (00 - 99 வரை).
%மற்றும் நூற்றாண்டு உட்பட ஆண்டு தசமமாகும்.
%உடன் நேர மண்டலம்.

நிரல் செயல்படுத்தும் நேரத்தை அளவிடுவதற்கு gettimeofday ஐப் பயன்படுத்துதல்

#சேர்க்கிறது
#சேர்க்கிறது

intமுக்கிய() {

கட்டமைப்புகால இடைவெளி தொடக்கம்,முடிவு;
நாள் கிடைக்கும்(&தொடங்கு,ஏதுமில்லை);

க்கான (intநான்= 0;நான்<1e5 ;நான்++) {
}

நாள் கிடைக்கும்(&முடிவு,ஏதுமில்லை);
printf (10^5 என கணக்கிட எடுக்கப்பட்ட நேரம்: %ld மைக்ரோ வினாடிகள் n',
((முடிவுtv_sec * 1000000 +முடிவுtv_usec) -
(தொடங்குtv_sec * 1000000 +தொடங்குtv_usec)));

திரும்ப 0;
}

வெளியீடு:

எப்படி என்பதை இந்த உதாரணம் காட்டுகிறது நாள்நேரம் () ஒரு நிரலின் செயல்பாட்டு நேரத்தைக் கணக்கிட செயல்பாடு பயன்படுத்தப்படலாம்.

முடிவுரை

இந்த வகையில், தி நாள்நேரம் () செயல்பாடு லினக்ஸில் பயன்படுத்தப்படலாம். ஏற்கனவே உள்ள குறியீட்டை போர்ட் செய்ய, தி நாள்நேரம் () செயல்பாடு பயன்படுத்தப்படலாம் ஆனால் புதிய குறியீட்டில் அதை பயன்படுத்தக்கூடாது. கடிகாரம்_நேரம் () செயல்பாட்டிற்கு பதிலாக பயன்படுத்தப்படலாம் நாள்நேரம் () .