2012-11-28 14 views
11

मौजूद है, तो मैं एक सी ++ प्रोग्राम भाग गयाजांचना कि argv [मैं] सी ++

./program arg1 

argv [1] से मौजूद है, लेकिन वहाँ अगर argv [2] मौजूद है की जाँच करने के लिए एक रास्ता है?

+0

जाँच के बारे में क्या 'argc'? – neuront

उत्तर

24

हाँ, argc के मूल्य पर गौर:

if (argc > 2) { 
    ... use argv[2] ... 
} 
0

आप दूसरी तरह के आसपास की कोशिश कर सकते हैं। argc की गिनती का परीक्षण करें, वहां आप argv[n] की उपस्थिति जान सकते हैं।

1

main के प्रोटोटाइप यह कहता है कि सब:

int main(int argc, char **argv); 

यहाँ पहले पैरामीटर, argcNumber_Of_Arguments(argv[])_Present

4

हाँ का मूल्य वहन करती है, argv[i]NULL साथ समाप्त होता है। argcnumber of arguments मुख्य कार्य में पारित किया गया है। कोड का पालन करने से एक विचार प्राप्त करें।

#include<stdio.h> 
int main(int argc, char* argv[]){ 
    int i=0; 
    while(argv[i]!=NULL){ 
     printf("\n %s is argv %d ",argv[i],i); 
      i++; 
    } 

    printf("\n"); 
} 

desktop:~$ gcc main.c -o main 
desktop:~$ ./main grijesh thisiscrazy4 

    ./main is argv 0 
    grijesh is argv 1 
    thisiscrazy4 is argv 2 

यहाँ argv था - "./main","grijesh","thisiscrazy4",NULL और argc = 3.

argv[0] निष्पादन का नाम (निष्पादन के पथ) त्रुटि बयानों के साथ पिंट के लिए इस्तेमाल किया जा सकता है।
argv तर्क वेक्टर और argc को तर्क काउंटर कहा जाता है। आप अन्य चर नाम भी उपयोग कर सकते हैं।

full syntax of main() function के बारे में पढ़ें जिसमें पर्यावरण चर भी शामिल हैं।

int main (int argc, char *argv[], char *envp[]) 
{ 
    return 0; 
} 

Learn HEAR

+0

इस उदाहरण में 'argc == 3' वास्तव में - निष्पादन का मार्ग भी तर्क के रूप में माना जाता है। – Archie

+0

@ आर्ची हाँ आप सही हैं - मैंने कोड को सही किया - धन्यवाद –

+0

'मुख्य सिंटैक्स के बारे में अधिक जानकारी जोड़ें –

संबंधित मुद्दे