Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> सी प्रोग्रामिंग

C/C++ में कमांड लाइन आर्गुमेंट्स


जब C प्रोग्राम्स निष्पादित होते हैं तो कमांड लाइन से कुछ मान पास करना संभव है। इन मानों को कमांड लाइन आर्गुमेंट्स कहा जाता है और कई बार वे आपके प्रोग्राम के लिए महत्वपूर्ण होते हैं विशेष रूप से जब आप अपने प्रोग्राम को बाहर से नियंत्रित करना चाहते हैं बजाय उन मानों को कोड के अंदर हार्ड कोड करने के।

कमांड लाइन आर्गुमेंट्स को main() फंक्शन आर्गुमेंट्स का उपयोग करके हैंडल किया जाता है जहां argc पास किए गए आर्गुमेंट्स की संख्या को संदर्भित करता है, और argv[] एक पॉइंटर ऐरे है जो प्रोग्राम को पास किए गए प्रत्येक आर्गुमेंट की ओर इंगित करता है। निम्नलिखित एक सरल उदाहरण है जो जांचता है कि क्या कमांड लाइन से कोई आर्गुमेंट सप्लाई किया गया है और तदनुसार कार्रवाई करता है −

उदाहरण

#include <stdio.h>

int main(int argc, char *argv[]) {
    if(argc == 2) {
        printf("The argument supplied is %s\n", argv[1]);
    } else if(argc > 2) {
        printf("Too many arguments supplied.\n");
    } else {
        printf("One argument expected.\n");
    }
}

आउटपुट

$./a.out testing
The argument supplied is testing

आउटपुट

$./a.out testing1 testing2
Too many arguments supplied.

आउटपुट

$./a.out
One argument expected

यह ध्यान दिया जाना चाहिए कि argv[0] प्रोग्राम का नाम स्वयं रखता है और argv[1] सप्लाई किए गए पहले कमांड लाइन आर्गुमेंट का पॉइंटर है, और *argv[n] अंतिम आर्गुमेंट है। यदि कोई आर्गुमेंट्स सप्लाई नहीं किए जाते हैं, तो argc एक होगा, और यदि आप एक आर्गुमेंट पास करते हैं तो argc 2 पर सेट हो जाता है।

आप सभी कमांड लाइन आर्गुमेंट्स को स्पेस से अलग करके पास करते हैं, लेकिन यदि आर्गुमेंट में स्वयं स्पेस है तो आप ऐसे आर्गुमेंट्स को डबल कोट्स "" या सिंगल कोट्स '' के अंदर रखकर पास कर सकते हैं। आइए उपरोक्त उदाहरण को एक बार फिर से लिखें जहां हम प्रोग्राम नाम प्रिंट करेंगे और हम एक कमांड लाइन आर्गुमेंट भी डबल कोट्स में रखकर पास करेंगे −

उदाहरण

#include <stdio.h>

int main(int argc, char *argv[]) {
    printf("Program name %s\n", argv[0]);
    if(argc == 2) {
        printf("The argument supplied is %s\n", argv[1]);
    } else if(argc > 2) {
        printf("Too many arguments supplied.\n");
    } else {
        printf("One argument expected.\n");
    }
}

आउटपुट

$./a.out "testing1 testing2"
Program name ./a.out
The argument supplied is testing1 testing2
  1. C/C++ में AA ट्रीज C/C++ में AA ट्रीज

    कंप्यूटर साइंस में AA ट्री को संतुलित ट्री के एक रूप के रूप में परिभाषित किया गया है जिसे क्रमबद्ध डेटा को कुशलतापूर्वक स्टोर और पुनर्प्राप्त करने के लिए लागू किया जाता है। AA ट्रीज को रेड-ब्लैक ट्री के एक रूपांतर के रूप में माना जाता है, एक प्रकार का बाइनरी सर्च ट्री जो प्रविष्टियों के कुशल जोड़ और

  1. C/C++ में System() फंक्शन C/C++ में System() फंक्शन

    दिया गया कार्य C/C++ में system() के कार्य को दिखाना है। system() फंक्शन C/C++ स्टैंडर्ड लाइब्रेरी का एक हिस्सा है। इसका उपयोग उन कमांड्स को पास करने के लिए किया जाता है जिन्हें ऑपरेटिंग सिस्टम के कमांड प्रोसेसर या टर्मिनल में निष्पादित किया जा सकता है, और अंत में कमांड के पूरा होने के बाद लौटाता है

  1. C/C++ में तर्क बलात्कार (Argument Coercion) C/C++ में तर्क बलात्कार (Argument Coercion)

    यहां हम C या C++ में तर्क बलात्कार के बारे में देखेंगे। तर्क बलात्कार एक तकनीक है जिसके द्वारा कंपाइलर तर्कों को एक प्रकार से दूसरे प्रकार में अंतर्निहित रूप से परिवर्तित कर सकता है। यह तर्क प्रचार नियम का पालन करता है। यदि एक तर्क निम्न डेटाटाइप का है, तो उसे उच्च डेटाटाइप में परिवर्तित किया जा सक