Argc மற்றும் Argv C++

Argc Marrum Argv C



C++ நிரல்களை எழுதும் போது, ​​​​'முதன்மை()' செயல்பாடு மிகவும் முக்கியமானதாகக் கருதப்படுகிறது என்பதை நாம் அனைவரும் அறிவோம், ஏனெனில் இந்த செயல்பாட்டின் செயல்படுத்தல் விடுபட்டால் எங்கள் நிரலை தொகுக்க முடியாது. C++ இல் உள்ள மற்ற செயல்பாடுகளைப் போலவே, “main()” செயல்பாடும் வாதங்களை ஏற்கும் திறன் கொண்டது. இருப்பினும், 'முக்கிய()' செயல்பாட்டிற்கு வாதங்களை அனுப்புவதிலிருந்து மற்ற செயல்பாடுகளுக்கு வாதங்களை அனுப்புவதற்கு இடையே உள்ள வித்தியாசம் என்னவென்றால், நீங்கள் முந்தைய வழக்கில் கட்டளை வரி வழியாக வாதங்களை அனுப்ப வேண்டும். 'main()' செயல்பாடே இயக்கி செயல்பாடாகும், அதனால்தான் வேறு எந்த செயல்பாடும் அதை அழைக்கவும் அதற்கு வாதங்களை அனுப்பவும் முடியாது. இந்த கட்டுரையில், உபுண்டு 20.04 இல் C++ இல் உள்ள “main()” செயல்பாட்டின் இரண்டு அளவுருக்கள், அதாவது “argc” மற்றும் “argv” பற்றி விவாதிப்போம்.

உபுண்டு 20.04 இல் C++ இல் Argc மற்றும் Argv என்றால் என்ன?

“argc” என்ற அளவுரு வாத எண்ணிக்கையைக் குறிக்கிறது, அதேசமயம் “argv” என்பது C++ இல் ஒரு நிரலை இயக்கும் போது கட்டளை வரியின் மூலம் “main()” செயல்பாட்டிற்கு அனுப்பப்படும் அனைத்து வாதங்களையும் வைத்திருக்கும் ஒரு எழுத்து வரிசையைக் குறிக்கிறது. இங்கே, 'argc' என்பது எப்பொழுதும் அனுப்பப்பட்ட வாதங்களின் உண்மையான எண்ணிக்கையை விட '1' என்ற வாதத்தின் எண்ணிக்கையைக் காட்டுகிறது என்பதை நீங்கள் அறிந்து கொள்ள வேண்டும். பொருள் கோப்பின் பெயரும் கட்டளை வரி வாதமாக கணக்கிடப்படுவதால் இது ஏற்படுகிறது. எந்த தரவு வகைக்கும் சொந்தமான கட்டளை வரி வாதங்களை “main()” செயல்பாட்டிற்கு அனுப்பலாம். நீங்கள் கவனித்துக் கொள்ள வேண்டியது என்னவென்றால், இந்த அளவுருக்கள் உங்கள் “முக்கிய()” செயல்பாட்டின் முன்மாதிரியில் அவற்றை நீங்கள் அணுக விரும்பினால் அதில் குறிப்பிடப்பட்டுள்ளன. இருப்பினும், இந்த இரண்டு அளவுருக்கள் இல்லாமல் 'முக்கிய()' செயல்பாடு நன்றாக வேலை செய்யும். இந்த கட்டுரையின் பின்வரும் பிரிவில் இது விவாதிக்கப்படும், அதன் பிறகு உபுண்டு 20.04 இல் C++ இல் இந்த இரண்டு அளவுருக்களைப் பயன்படுத்துவோம்.

C++ இல் Argc மற்றும் Argv இல்லாத முக்கிய செயல்பாடு:

முதலில், C++ இல் உள்ள “main()” செயல்பாடு “argc” மற்றும் “argv” ஆகிய அளவுருக்களைப் பயன்படுத்தாமல் கூட நன்றாக வேலை செய்யும் என்பதை நாங்கள் உங்களுக்குச் சொல்ல விரும்புகிறோம். இது பின்வரும் C++ திட்டத்தில் சித்தரிக்கப்பட்டுள்ளது:









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



பின்னர், கீழே குறிப்பிடப்பட்டுள்ள கட்டளையின் உதவியுடன் இந்த அடிப்படை C++ நிரலை தொகுத்தோம்:





$ g++ CommandLine.cpp –o CommandLine

பின்னர், பின்வரும் கட்டளையை இயக்குவதன் மூலம் இந்த நிரலை இயக்கினோம்:



$ . / கட்டளை வரி

இந்த எளிய C++ நிரலின் வெளியீடு கீழே உள்ள படத்தில் காட்டப்பட்டுள்ளது:

எந்த கட்டளை வரி வாதங்களையும் கடந்து செல்லாமல் C++ நிரலை இயக்குதல்:

இப்போது, ​​'main()' செயல்பாடு 'argc' மற்றும் 'argv' அளவுருக்களை ஏற்றுக்கொள்ளும் திறன் கொண்ட ஒரு C++ நிரலை செயல்படுத்த முயற்சிப்போம், இருப்பினும், இந்த நிரலை இயக்கும் போது இந்த வாதங்களை அதற்கு அனுப்ப மாட்டோம் முனையத்தில். கூறப்பட்ட C++ நிரல் பின்வரும் படத்தில் காட்டப்பட்டுள்ளது:

இந்த C++ நிரலில், நமது “main()” செயல்பாடு “argc” மற்றும் “argv” அளவுருக்களை ஏற்கும் திறன் கொண்டது. இருப்பினும், இந்த குறிப்பிட்ட எடுத்துக்காட்டில் இந்த மதிப்புகளை நாங்கள் அனுப்ப விரும்பவில்லை என்பதால், நாங்கள் வேண்டுமென்றே “argc” ஐ “0” க்கு சமப்படுத்தியுள்ளோம், எனவே அதன் மதிப்பை அச்சிட முயற்சிக்கும்போது, ​​​​அது எந்த குப்பை மதிப்பையும் தராது. அதன் பிறகு, முனையத்தில் 'argc' அளவுருவின் மதிப்பை அச்சிட்டுள்ளோம். பின்னர், முனையத்தில் அனைத்து கட்டளை வரி வாதங்களையும் அச்சிடுவதற்கு 'for' லூப்பைப் பயன்படுத்தினோம்.

கீழே காட்டப்பட்டுள்ள கட்டளையைப் பயன்படுத்தி இந்த குறியீட்டை தொகுத்துள்ளோம்:

$ g++ CommandLine.cpp –o CommandLine

பின்னர், இந்த நிரலை இயக்க விரும்பியபோது, ​​பின்வரும் கட்டளையிலிருந்து நீங்கள் பார்க்க முடியும் என, எந்த கட்டளை வரி வாதங்களையும் நாங்கள் அனுப்பவில்லை:

$ . / கட்டளை வரி

கீழே உள்ள படத்தில் காட்டப்பட்டுள்ள இந்த C++ நிரலின் வெளியீட்டில் இருந்து, இந்தச் செயல்பாட்டிற்கு எந்த கட்டளை வரி வாதங்களும் அனுப்பப்படவில்லை என்பதை நீங்கள் காணலாம், இதன் காரணமாக வாதம் எண்ணிக்கை “0” ஆகவும், எழுத்து வரிசை “ என்பதால் டெர்மினலில் எந்த வாதங்களும் அச்சிடப்படவில்லை. argv” என்பதும் காலியாக இருந்தது.

முழு எண் வகை கட்டளை வரி வாதங்களுடன் C++ நிரலை இயக்குதல்:

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

இந்த குறியீட்டில் நாங்கள் செய்த ஒரே மாற்றம் என்னவென்றால், அதில் இருந்து “argc=0” என்ற வரியை அகற்றியுள்ளோம், ஏனெனில் இந்த எடுத்துக்காட்டில், இயக்க நேரத்தில் இந்த நிரலுக்கு அனுப்பப்பட்ட கட்டளை வரி மதிப்புருக்களின் உண்மையான எண்ணை அச்சிட விரும்புகிறோம். மீதமுள்ள குறியீடு மேலே உள்ள பிரிவில் பயன்படுத்தப்பட்டதைப் போலவே உள்ளது.

கீழே காட்டப்பட்டுள்ள கட்டளையைப் பயன்படுத்தி எங்கள் மாற்றியமைக்கப்பட்ட குறியீட்டை மீண்டும் தொகுத்தோம்:

$ g++ CommandLine.cpp –o CommandLine

பின்னர், இந்த குறியீட்டை இயக்க, பின்வரும் கட்டளை வரி வாதங்களைப் பயன்படுத்தினோம்:

$ . / கட்டளை வரி 1 இரண்டு 3

இந்த C++ நிரலை இயக்கும் போது, ​​அதாவது, 1, 2, மற்றும் 3 ஆகிய மூன்று முழு எண் வகை கட்டளை வரி வாதங்களை அனுப்பியுள்ளோம்.

இந்த மாற்றியமைக்கப்பட்ட நிரலின் வெளியீடு கீழே உள்ள படத்தில் காட்டப்பட்டுள்ளது:

இந்த C++ நிரல் வழங்கும் மொத்த மதிப்புருக்களின் எண்ணிக்கை “4” அதாவது, நாம் கடந்துவிட்ட மூன்று முழு எண் மதிப்புருக்கள் + ஆப்ஜெக்ட் கோப்பின் பெயர். இந்த நிரல் முனையத்தில் 'argv' எழுத்து வரிசையின் கூறுகளையும் அச்சிட்டது, அதாவது, நிரலின் பெயருடன், செயல்படுத்தும் நேரத்தில் இந்த நிரலுக்கு அனுப்பப்பட்ட உண்மையான முழு எண் வகை வாதங்கள்.

எழுத்து வகை கட்டளை வரி வாதங்களுடன் C++ நிரலை இயக்குதல்:

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

$ . / கட்டளை வரி a b c d e f

இந்த C++ நிரலை இயக்கும் போது, ​​அதாவது, a, b, c, d, e, மற்றும் f என ஆறு எழுத்து வகை கட்டளை வரி வாதங்களை நாம் அனுப்பியுள்ளோம்.

அதே C++ நிரலுக்கு எழுத்து வகை கட்டளை வரி வாதங்களை அனுப்புவதன் விளைவாக உருவாக்கப்பட்ட வெளியீடு கீழே காட்டப்பட்டுள்ளது:

இந்த C++ நிரல் வழங்கும் மொத்த மதிப்புருக்களின் எண்ணிக்கை “7” அதாவது, நாம் கடந்துவிட்ட ஆறு எழுத்து வாதங்கள் + ஆப்ஜெக்ட் கோப்பின் பெயர். இந்த நிரல் முனையத்தில் 'argv' எழுத்து வரிசையின் கூறுகளை அச்சிட்டது, அதாவது, நிரலின் பெயருடன், செயல்படுத்தும் நேரத்தில் இந்த நிரலுக்கு அனுப்பப்பட்ட உண்மையான எழுத்து வகை வாதங்கள்.

முடிவுரை:

இந்தக் கட்டுரையானது 'முக்கிய()' செயல்பாட்டின் அளவுருக்கள் என்றும் அழைக்கப்படும் இரண்டு கட்டளை வரி வாதங்களின் விவாதத்தை நோக்கமாகக் கொண்டது, அதாவது 'argc' மற்றும் 'argv'. இந்த இரண்டு அளவுருக்களின் பயன்பாட்டைக் குறிப்பிடுவதன் மூலம் அவற்றின் முக்கியத்துவத்தைப் பற்றி பேசினோம். பின்னர், உபுண்டு 20.04 இல் C++ இல் “argc” மற்றும் “argv” இன் பயன்பாட்டைச் சித்தரிக்கும் சில உதாரணங்களை உங்களுடன் பகிர்ந்துள்ளோம். மேலும், இந்த அளவுருக்களைப் பயன்படுத்தாமல் கூட, “முக்கிய()” செயல்பாடு நன்றாக வேலை செய்யும் என்பதையும் நாங்கள் தெளிவுபடுத்தினோம். எனவே, இந்தக் கட்டுரையைப் படித்தவுடன், C++ இல் 'argc' மற்றும் 'argv' ஆகியவற்றின் பயன்பாட்டை மிகத் தெளிவாகப் புரிந்துகொள்வீர்கள்.