command line arguments c
C ++ में कमांड लाइन तर्क पर एक संक्षिप्त परिचय।
हमने पहले से ही फ़ंक्शन पर हमारे ट्यूटोरियल में तर्कों या मापदंडों का उपयोग देखा है। हमने कार्यों से / से तर्क पारित करने का उद्देश्य भी सीखा।
हमारे पास मुख्य समारोह में पारित तर्क भी हो सकते हैं। ये बदले में 'कमांड लाइन तर्क या कमांड लाइन पैरामीटर' के रूप में जाने जाते हैं।
=> C ++ प्रशिक्षण ट्यूटोरियल के ए-जेड को देखने के लिए यहां देखें।
आप क्या सीखेंगे:
कमांड लाइन तर्क क्या हैं?
हम C ++ में मुख्य फ़ंक्शन के मूल प्रोटोटाइप को जानते हैं। इसमें आमतौर पर रिटर्न प्रकार इंट के रूप में होता है और इसके लिए कोई तर्क नहीं दिया जाता है।
वर्ड में xml फाइल कैसे देखें
int main()
हालाँकि, हम C ++ के मुख्य कार्य के लिए तर्क भी पास कर सकते हैं, जिसे कमांड लाइन तर्क के रूप में जाना जाता है। कमांड-लाइन शेल में प्रोग्राम के निष्पादन के दौरान प्रोग्राम के नाम के बाद कमांड लाइन तर्क दिए जाते हैं।
कमांड लाइन तर्कों को पारित करने के लिए, मुख्य कार्य दो तर्कों के साथ पारित किया जाता है। मुख्य फ़ंक्शन का प्रोटोटाइप तब बदलता है
int main(int argc, char* argv()){}
या
int main(int argc, char** argv){}
नीचे दिए गए दो तर्कों का वर्णन किया गया है:
# 1) तर्क गणना (ARGC)
यह एक गैर-नकारात्मक पूर्णांक तर्क है जो प्रोग्राम नाम सहित कमांड लाइन तर्कों की संख्या रखता है। इस प्रकार यदि प्रोग्राम का नाम पास किया जाता है तो argc का मान 1 होगा।
# 2) तर्क वेक्टर (ARGV)
अर्गव चरित्र बिंदुओं की एक सरणी है जिसमें मुख्य कार्य के लिए पारित सभी कमांड लाइन तर्क शामिल हैं। यदि ARGC शून्य से अधिक है, तो Argv (0) में कार्यक्रम का नाम होगा। Argv (1) को argv (argc -1) में अन्य कमांड लाइन तर्क होंगे।
कमांड लाइन तर्क कैसे पढ़ें / प्राप्त करें?
गिनती और वास्तविक कमांड लाइन तर्क रखने वाले पैरामीटर को देखने के बाद, हम देखते हैं कि हम C ++ प्रोग्राम में कमांड लाइन के तर्कों का उपयोग कैसे कर सकते हैं।
ध्यान दें कि कमांड लाइन के तर्कों की पूर्ण कार्यक्षमता प्राप्त करने के लिए हमें प्रोग्राम को कमांड लाइन शेल से चलाने की आवश्यकता है।
सबसे पहले, हम प्रोग्राम के आउटपुट को देखते हैं जहां हम कोई कमांड लाइन तर्क निर्दिष्ट नहीं करते हैं।
#include using namespace std; int main(int argc, char** argv) { cout << 'Number of command line arguments (argc) entered: ' << argc<उपरोक्त कोड उदाहरण दिखाता है कि हम कमांड लाइन के तर्कों को कैसे पढ़ और पार्स कर सकते हैं।
सबसे पहले, हम कमांड लाइन के तर्कों की संख्या प्रिंट करते हैं जो सीधे पहले पैरामीटर द्वारा मुख्य फ़ंक्शन को दिया जाता है, argc। फिर लूप के लिए उपयोग करते हुए, हम तर्क वेक्टर argc के माध्यम से लूप करते हैं जो एक चरित्र सरणी है।
यह लूप 0 से argc तक चलता है क्योंकि argc कमांड लाइन तर्क की कुल संख्या है जो कि निष्पादन के दौरान कार्यक्रम में पारित की गई थी।
अब हम उपरोक्त कार्यक्रम को क्रियान्वित करेंगे,
(1) कमांड लाइन तर्क पारित किए बिना।
सी + + में स्ट्रिंगस्ट्रीम का उपयोग कैसे करें
इस मामले में, हम निम्नलिखित कमांड का उपयोग करके उपरोक्त प्रोग्राम को निष्पादित करते हैं:
$ ./a.out
यहाँ, हम प्रोग्राम को बिना किसी कमांड लाइन तर्क के निष्पादित करते हैं। आउटपुट नीचे दिखाया गया है। इस मामले में, जैसा कि कोई तर्क नहीं दिया जाता है, केवल प्रोग्राम का नाम लिया जाता है और argc 1 दिखाता है जो argv है (0) जो प्रोग्राम का नाम है।
आउटपुट:
कमांड लाइन तर्क की संख्या (argc) दर्ज की गई: 1
argv (0) :/a.out
# 2) तीन कमांड लाइन तर्क पारित करना
इस मामले में, हम निम्नलिखित कमांड देकर कमांड लाइन में तीन तर्क देते हैं।
$ ./a.out one two three
यहां हमने तीन कमांड लाइन तर्क दिए हैं।
जब हम इन तर्कों के साथ उपरोक्त कार्यक्रम को निष्पादित करते हैं, तो हमें निम्नलिखित आउटपुट मिलते हैं।
कमांड लाइन तर्कों की संख्या (argc) दर्ज की गई: 4
argv (0) :/a.out
argv (1): एक
argv (2): दो
argv (3): तीन
मैक के लिए सबसे अच्छा वीडियो रूपांतरण सॉफ्टवेयर
उपरोक्त आउटपुट 4. के रूप में argc मूल्य दिखाता है। इसमें प्रोग्राम का नाम और कमांड लाइन पर दर्ज किए गए तीन तर्क शामिल हैं। यदि हम argv सरणी को देखते हैं जिसे हम प्रिंट करते हैं, argv (0) प्रोग्राम का नाम है और बाद के एरे तत्वों में वे तीन तर्क होते हैं जो हमने पास किए हैं।
याद दिलाने के संकेत
- कमांड लाइन के तर्कों में, argv (argc) एक NULL पॉइंटर है।
- Argv (0) हमेशा कार्यक्रम का नाम रखता है।
- Argv (1) पहली कमांड लाइन तर्क रखता है जबकि argv (n) अंतिम कमांड लाइन तर्क है।
- कमांड लाइन तर्क मुख्य कार्य के लिए पारित किए जाते हैं।
- प्रोग्राम को लागू करने या निष्पादित करने पर हमें कमांड लाइन तर्क पारित करना चाहिए।
- कमांड लाइन के तर्क बाहर से प्रोग्राम को नियंत्रित करते हैं क्योंकि हम कमांड लाइन के माध्यम से तर्क पास करते हैं।
निष्कर्ष
इस ट्यूटोरियल में, हमने C ++ की कमांड लाइन आर्ग्यूमेंट्स देखी हैं।
ये वास्तव में उपयोगी होते हैं जब हमें प्रोग्राम को बाहरी रूप से नियंत्रित करने की आवश्यकता होती है। कार्यक्रम में कुछ मानों को हार्डकोड करने के बजाय, हम इन मूल्यों को पारित करने के लिए कमांड लाइन तर्कों का उपयोग कर सकते हैं।
=> पूर्ण सी ++ प्रशिक्षण श्रृंखला यहां देखें।
अनुशंसित पाठ
- उदाहरण के साथ यूनिक्स शैल स्क्रिप्ट में कमांड लाइन तर्क
- उदाहरणों के साथ यूनिक्स में कमान काटें
- यूनिक्स कैट कमांड सिंटैक्स, उदाहरण के साथ विकल्प
- उदाहरणों के साथ यूनिक्स में Ls कमांड
- सरल उदाहरणों के साथ यूनिक्स में ग्रीप कमांड
- सिंटैक्स, विकल्प और उदाहरण के साथ यूनिक्स सॉर्ट कमांड
- यूनिक्स में टार कमांड बैकअप बनाने के लिए (उदाहरण)
- सर्वश्रेष्ठ मुफ्त सी # ट्यूटोरियल श्रृंखला: शुरुआती के लिए अंतिम सी # गाइड