சி++ இல் snprintf() என்றால் என்ன

Ci Il Snprintf Enral Enna



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

இந்த கட்டுரையில், தொடரியல், அளவுருக்கள், திரும்ப மதிப்புகள் மற்றும் வேலை செய்வது பற்றி விளக்குவோம் snprintf() C++ இல் செயல்பாடு. ஒரு முழுமையான புரிதலைக் காணலாம் snprintf() இந்த வழிகாட்டியில்.

சி++ இல் snprintf() என்றால் என்ன

C++ இல், snprintf() இடையகத்திற்கு எழுதப்பட்ட எழுத்து மற்றும் சரம் மதிப்புகளின் வரிசையை வடிவமைக்க அல்லது சேமிக்க பயன்படும் ஒரு செயல்பாடு ஆகும். இது போலவே செயல்படுகிறது sprintf() செயல்பாடு ஆனால் அது தாங்கல் வழிதல்களை கடக்கும் திறனைக் கொண்டுள்ளது. தி தலைப்பு கோப்பில் அடங்கும் snprint() செயல்பாடு மற்றும் உங்கள் நிரலில் செயல்பாட்டைப் பயன்படுத்த விரும்பினால் அது அறிவிக்கப்பட வேண்டும். தி snprintf() செயல்பாடு இடையகத்தில் இருக்கக்கூடிய அதிகபட்ச உள்ளடக்கத்தைக் குறிப்பிடுகிறது.







பயன்படுத்த வேண்டிய தொடரியல் கீழே கொடுக்கப்பட்டுள்ளது snprintf() C++ இல் செயல்பாடு:



snprintf ( கரி * தாங்கல், அளவு_டி buf_size, நிலையான கரி * வடிவம்,... ) ;

எழுத்துகள் எழுதப்பட்டவுடன், ஒரு முடிவடையும் பூஜ்ய எழுத்து செருகப்படும். MAX_BUFSIZE பூஜ்ஜியமாக இருந்தால், எதுவும் சேமிக்கப்படாது மற்றும் இடையகமானது பூஜ்ய சுட்டியாக செயல்படலாம்.



snprintf() இன் அளவுருக்கள்

பின்வரும் அளவுருக்கள் பயன்படுத்தப்படுகின்றன snprintf() செயல்பாடு.





  • தாங்கல் : வெளியீடு எழுதப்படும் சரம் இடையகத்திற்கான சுட்டி.
  • buf_size : MAX_BUFSIZE-1 என்பது இடையகத்திற்கு ஒருவர் எழுதக்கூடிய எழுத்துகளின் அதிகபட்ச எண்ணிக்கையாகும்.
  • வடிவம் : ஒரு null-terminated string ஆனது ஒரு பைல் ஸ்ட்ரீமில் சுட்டியாக எழுதப்பட்டது. இது எழுத்துகள் மற்றும் % இல் தொடங்கும் சாத்தியமான வடிவமைப்பு குறிப்பான்களால் ஆனது. வடிவமைப்பு சரத்தை பின்பற்றும் மாறிகளின் மதிப்புகள் வடிவமைப்பு குறிப்பான்களை மாற்றும்.
  • (கூடுதல் வாதங்கள்) : வடிவமைப்பு சரத்தின் வகையைப் பொறுத்து, செயல்பாடு கூடுதல் வாதங்களின் பட்டியலை எதிர்பார்க்கலாம், இவை அனைத்தும் சரத்தின் வடிவமைப்பில் உள்ள வடிவமைப்புக் குறிப்பான்களை மாற்றப் பயன்படுத்தப்படும் மதிப்பைக் கொண்டிருக்கும் (அல்லது, MAX_BUFSIZE க்கு, சேமிப்பக இருப்பிடத்திற்கான சுட்டிக்காட்டி) .

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

snprintf() திரும்ப என்ன செய்கிறது

செயல்பாடு வெற்றிகரமாக இருந்தால், அது ஒரு பெரிய இடையகத்திற்கு எழுதப்பட்டதாகக் கருதப்படும் எழுத்துகளின் எண்ணிக்கையை வழங்குகிறது, ஒரு முடிவுறும் பூஜ்ய எழுத்தைத் தவிர்த்து. அது தோல்வியுற்றால், அது எதிர்மறை மதிப்பை அளிக்கிறது. MAX_BUFSIZE ஐ விட சிறியதாக இருந்தால், திருப்பியளிக்கப்பட்ட மதிப்பு எதிர்மறையாக இருந்தால் மட்டுமே வெளியீடு முழுமையாக எழுதப்பட்டதாகக் கருதப்படும்.



சி++ இல் snprintf() ஐ எவ்வாறு பயன்படுத்துவது

சி++ இல் snprintf() ஐப் பயன்படுத்துவதற்கான எடுத்துக்காட்டு இங்கே:

உதாரணமாக

# அடங்கும்
# அடங்கும்
பயன்படுத்தி பெயர்வெளி வகுப்பு ;
முழு எண்ணாக முக்கிய ( )
{
கரி பஃப்_அளவு [ 60 ] ;
முழு எண்ணாக திரும்ப_மதிப்பு, MAX_BUFSIZE = 60 ;
கரி str [ ] = 'லினக்ஸ்' ;
முழு எண்ணாக கட்டுரைகள் = நான்கு. ஐந்து ;
திரும்ப_மதிப்பு = snprintf ( buff_size, MAX_BUFSIZE, 'வணக்கம் %s பயனர்களே, பாஷ் பற்றிய %d கட்டுரைகளைப் படிப்போம்' ,str, கட்டுரைகள் ) ;
என்றால் ( திரும்ப_மதிப்பு > 0 && திரும்ப_மதிப்பு < MAX_BUFSIZE )
{
கூட் << பஃப்_அளவு << endl ;
கூட் << 'எழுதப்பட்ட எழுத்துக்களின் எண்ணிக்கை =' << திரும்ப_மதிப்பு << endl ;
}
வேறு
கூட் << 'தடுக்க எழுதுவதில் பிழை' << endl ;
திரும்ப 0 ;
}

மேலே உள்ள குறியீட்டில், இடையகத்தின் அதிகபட்ச அளவை 60 ஆக அமைத்துள்ளோம். அதாவது குறியீடு 60க்கு மிகாமல் எழுத்துகளை ஏற்கும். நாங்கள் பயன்படுத்தியுள்ளோம் snprintf() 56 எழுத்துகள் கொண்ட ஒரு சரத்தை வெளியிடுவதற்கான செயல்பாடு மற்றும் அது வெளியீட்டு முனையத்தில் காட்டப்படும். நீங்கள் உள்ளிடப்பட்ட எழுத்துக்கள் 60 க்கும் அதிகமாக இருந்தால், நிரல் பிழையின் மூலம் ஏற்படும்.

முடிவுரை

சி++ இன் முன்மாதிரி, அளவுருக்கள், வருவாய் மதிப்புகள் மற்றும் செயல்பாட்டை நாங்கள் நிரூபித்துள்ளோம் snprintf() ஒரு எழுத்து சரம் இடையகத்திற்கு வடிவமைக்கப்பட்ட சரத்தை எழுதும் செயல்பாடு. முழுமையான புரிதலுடன் ஒரு உதாரணத்தை விவரித்தோம் snprintf() இந்த வழிகாட்டியில்.