C++ இல் strncpy() செயல்பாட்டை எவ்வாறு பயன்படுத்துவது

C Il Strncpy Ceyalpattai Evvaru Payanpatuttuvatu



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

C++ இல் strncpy() செயல்பாடு என்றால் என்ன

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

strncpy() செயல்பாட்டின் முன்மாதிரி கீழே கொடுக்கப்பட்டுள்ளது.







கரி * strncpy ( கரி * கைகள் நிலையான கரி * எஸ்ஆர்சி, அளவு_டி எண்ணிக்கை ) ;

C++ strncpy() இன் அளவுருக்கள் என்ன

அனைத்து அளவுருக்கள் strncpy() செயல்பாடு கீழே விளக்கப்பட்டுள்ளது.



  • கை: உள்ளடக்கம் இருந்த இலக்கு வரிசைக்கான சுட்டி
  • எஸ்ஆர்சி: உள்ளடக்கம் இருக்கும் மூல வரிசைக்கான சுட்டி
  • எண்ணிக்கை: மூலத்திலிருந்து இலக்குக்கு நகலெடுக்கப்படக்கூடிய அதிக எண்ணிக்கையிலான எழுத்துகள்.

C++ இல் strncpy() செயல்பாடு எவ்வாறு செயல்படுகிறது

strncpy() செயல்பாடு மூன்று வாதங்களை ஏற்றுக்கொள்கிறது: dest, src, மற்றும் எண்ணிக்கை . என்பதை இது சரிபார்க்கிறது src சரம் பூஜ்யமாக நிறுத்தப்பட்டது, ஆம் எனில், குறிப்பிட்ட எழுத்துகளின் எண்ணிக்கையை அது நகலெடுக்கிறது src சரம் தொடங்கு லேசான கயிறு. எண்ணிக்கை நீளத்தை விட குறைவாக இருந்தால் src சரம், முதல் எண்ணிக்கை எழுத்துக்கள் மாற்றப்பட்டன தொடங்கு சரம் மற்றும் அவை பூஜ்யமாக நிறுத்தப்படவில்லை. எண்ணிக்கை நீளத்தை விட அதிகமாக இருந்தால் src , அனைத்து கதாபாத்திரங்களும் src நகலெடுக்கப்படுகின்றன தொடங்கு , மற்றும் அனைத்து எண்ணெழுத்துக்களும் எழுதப்படும் வரை கூடுதல் முடிவுறும் பூஜ்ய எழுத்துகள் சேர்க்கப்பட்டுள்ளன.



கொடுக்கப்பட்ட உதாரணம் C++ இன் செயல்பாட்டை விளக்குகிறது strncpy() செயல்பாடு.





# அடங்கும்
#include
பயன்படுத்தி பெயர்வெளி வகுப்பு ;
முழு எண்ணாக முக்கிய ( )
{
கரி src_str [ ] = 'நான் strncpyக்கு ஒரு குறியீட்டை எழுதுகிறேன்' ;
கரி dest_str [ 60 ] ;
strncpy ( dest_str,src_str, strlen ( src_str ) ) ;
கூட் << dest_str << ' \n ' ;
திரும்ப 0 ;
}

இந்த திட்டத்தில், நாங்கள் பயன்படுத்தினோம் தலைப்பு கோப்பு, ஏனெனில் அதில் அடங்கும் strncpy() செயல்பாடு. ஒன்று இரண்டு சரங்களை வரையறுத்துள்ளோம் src_str மற்றொன்று dest_str. strncpy() தரவு எடுக்கும் செயல்பாடு src_str சரம் மற்றும் அதை நகலெடுக்கிறது dest_str . இங்கே strlen(src_str) இலிருந்து மொத்த எழுத்துக்களின் எண்ணிக்கையைக் கணக்கிடப் பயன்படுகிறது src_str சரம் .

தி வெளியீடு நிரலை கீழே காட்டலாம்.



C++ இல் strncpy() ஐப் பயன்படுத்துவதில் உள்ள சிக்கல்கள் என்ன?

  • இலக்கு வரிசையில் பூஜ்ய எழுத்து இல்லை அல்லது சரம் பூஜ்யமாக நிறுத்தப்படாவிட்டால், எங்கள் நிரல் அல்லது குறியீடு விரைவில் அல்லது பின்னர் சிக்கல்களைச் சந்திக்கலாம். C++ இல் உள்ள பூஜ்யமாக முடிவடையாத சரம் ஆபத்தான குறியீடாக மாறியுள்ளது, இது நிரல் செயலாக்கத்தின் போது எந்த நேரத்திலும் உடைந்து போகலாம். இது திட்டத்தில் பிரிவு பிழையை ஏற்படுத்தலாம். அதன் விளைவாக, strncpy() இலக்கு சரம் எப்பொழுதும் பூஜ்யமாக நிறுத்தப்படுவதை உறுதி செய்யாது, இது நாம் எழுதும் நிரலுக்கு ஆபத்தான குறியீடாக அமைகிறது.
  • இந்தச் செயல்பாடு ஓவர்ஃப்ளோவைச் சரிபார்க்கத் தவறிவிட்டது, எனவே மூல சரத்தை மூலத்தை விட சிறியதாக இருக்கும் இடத்திற்கு நகலெடுக்க முயற்சித்தால், பிழை மற்றும் வரையறுக்கப்படாத நடத்தையைப் பெறுவோம்.

முடிவுரை

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