Command Line Argument
Command Line Argument in C
If any enter worth is handed by means of command immediate on the time of operating of program is named command line argument. It’s a idea to passing the arguments to the primary() perform through the use of command immediate.
When Use Command Line Argument
When you might want to creating an software for DOS working system then in that case command line arguments are used. DOS working system is a command interface working system so through the use of command we execute this system. With the assistance of command line arguments we are able to create our personal instructions.
In Command line arguments software predominant() perform will takes two arguments that’s;
- argc
- argv
argc: argc is an integer sort variable and it holds complete variety of arguments which is handed into predominant perform. It take Variety of arguments within the command line together with program title.
argv[]: argv[] is a char* sort variable, which holds precise arguments which is handed to predominant perform.
Compile and run CMD packages
Command line arguments should not compile and run like regular C packages, these packages are compile and run on command immediate. To Compile and Hyperlink Command Line Program we’d like TCC Command.
- First open command immediate
- Comply with you listing the place your code saved.
- For compile -> C:/TC/BIN>TCC mycmd.c
- For run -> C:/TC/BIN>mycmd 10 20
- Clarification: Right here mycmd is your program file title and TCC is a Command. In “mycmd 10 20” assertion we cross two arguments.
Instance of Command line argument
1 |
<span class="com">#embrace</span><span class="str"><stdio.h></stdio.h></span><span class="com">#embrace</span><span class="str"><conio.h></conio.h></span><span class="kwd">void</span><span class="pln"> predominant</span><span class="pun">(</span><span class="kwd">int</span><span class="pln"> argc</span><span class="pun">,</span> <span class="kwd">char</span><span class="pun">*</span><span class="pln"> argv</span><span class="pun">[])</span><span class="pun">{</span><span class="kwd">int</span><span class="pln"> i</span><span class="pun">;</span><span class="pln">clrscr</span><span class="pun">();</span><span class="pln">printf</span><span class="pun">(</span><span class="str">"Complete variety of arguments: %d"</span><span class="pun">,</span><span class="pln">argc</span><span class="pun">);</span><span class="kwd">for</span><span class="pun">(</span><span class="pln">i</span><span class="pun">=</span><span class="lit">0</span><span class="pun">;</span><span class="pln">i</span><span class="pun"><</span><span class="pln"> argc</span><span class="pun">;</span><span class="pln">i</span><span class="pun">++)</span><span class="pun">{</span><span class="pln">printf</span><span class="pun">(</span><span class="str">"n %d argument: %s"</span><span class="pun">,</span><span class="pln">i</span><span class="pun">,</span><span class="pln">argv</span><span class="pun">[</span><span class="pln">i</span><span class="pun">]);</span><span class="pln">getch</span><span class="pun">();</span><span class="pun">}</span><span class="pun">}</span> |
Output
1 |
C:/TC/BIN>TCC mycmd.cC:/TC/BIN>mycmd 10 20Variety of Arguments: 30 arguments c:/tc/bin/mycmd.exe1 arguments: 102 arguments: 20 |
Be aware: In above output we handed two arguments however is present “Variety of Arguments: 3” as a result of argc take Variety of arguments within the command line together with program title. So right here two arguments and one program title (mycmd.exe) complete 3 arguments.
Instance of Command line argument
1 |
<span class="com">#embrace</span><span class="str"><stdio.h></stdio.h></span><span class="com">#embrace</span><span class="str"><conio.h></conio.h></span><span class="kwd">void</span><span class="pln"> predominant</span><span class="pun">(</span><span class="kwd">int</span><span class="pln"> argc</span><span class="pun">,</span> <span class="kwd">char</span><span class="pun">*</span><span class="pln"> argv</span><span class="pun">[])</span><span class="pun">{</span><span class="pln">clrscr</span><span class="pun">();</span><span class="pln"> printf</span><span class="pun">(</span><span class="str">"n Program title : %s n"</span><span class="pun">,</span><span class="pln"> argv</span><span class="pun">[</span><span class="lit">0</span><span class="pun">]);</span><span class="pln"> printf</span><span class="pun">(</span><span class="str">"1st arg : %s n"</span><span class="pun">,</span><span class="pln"> argv</span><span class="pun">[</span><span class="lit">1</span><span class="pun">]);</span><span class="pln"> printf</span><span class="pun">(</span><span class="str">"2nd arg : %s n"</span><span class="pun">,</span><span class="pln"> argv</span><span class="pun">[</span><span class="lit">2</span><span class="pun">]);</span><span class="pln"> printf</span><span class="pun">(</span><span class="str">"third arg : %s n"</span><span class="pun">,</span><span class="pln"> argv</span><span class="pun">[</span><span class="lit">3</span><span class="pun">]);</span><span class="pln"> printf</span><span class="pun">(</span><span class="str">"4th arg : %s n"</span><span class="pun">,</span><span class="pln"> argv</span><span class="pun">[</span><span class="lit">4</span><span class="pun">]);</span><span class="pln"> printf</span><span class="pun">(</span><span class="str">"fifth arg : %s n"</span><span class="pun">,</span><span class="pln"> argv</span><span class="pun">[</span><span class="lit">5</span><span class="pun">]);</span><span class="pln">getch</span><span class="pun">();</span><span class="pun">}</span> |
Output
1 |
C:/TC/BIN>TCC mycmd.cC:/TC/BIN>mycmd this can be a programProgram title : c:/tc/bin/mycmd.c1st arg : this2nd arg : is3rd arg : a4th arg : program5th arg : (null) |
Clarification: Within the above instance.
Instance
1 |
argc = 5argv[0] = "mycmd"argv[1] = "this"argv[2] = "is"argv[3] = "a"argv[4] = "program"argv[5] = NULL |
Why command line arguments program in a roundabout way run type TC IDE
Command line arguments associated packages should not execute instantly from TC IDE as a result of arguments can’t be handed.
Edit Command Line Argument Program
To Edit the Command Line Argument Program use edit Command.
Syntax
1 |
C:/cprogram>edit mycmd.c |
- Each time this system is compiled and hyperlink we are going to get .exe file and that .exe file itself is command.
- In above instance program title is mycmd.c so executable file is mycmd.exe and command title is mycmd.
- To load the appliance in to the reminiscence we required to make use of program title and command title.
Entry information from outdoors of predominant
- argc and agrv are native variables to predominant perform as a result of these are the primary perform parameters.
- In keeping with the storage courses of C argc and argv are auto variable to predominant perform, so we can’t prolong the vary of auto variable.
- By utilizing argc and argv we can’t entry command from information outdoors of the primary perform.
- In implementation once we required to entry command from information outdoors of the primary perform then use _argc, _argv variables.
- _argc and _argv are world variable which is asserted in dos.h.
Instance
1 |
<span class="com">#embrace</span><span class="str"><stdio.h></stdio.h></span><span class="com">#embrace</span><span class="str"><conio.h></conio.h></span><span class="com">#embrace</span><span class="str"><dos.h></dos.h></span><span class="kwd">void</span><span class="pln"> abc</span><span class="pun">()</span><span class="pun">{</span><span class="kwd">int</span><span class="pln"> i</span><span class="pun">;</span><span class="pln">printf</span><span class="pun">(</span><span class="str">"information in abc:"</span><span class="pun">);</span><span class="pln">printf</span><span class="pun">(</span><span class="str">"n Complete no. of arguments: %d"</span><span class="pun">,</span><span class="pln">_argc</span><span class="pun">);</span><span class="kwd">for</span> <span class="pun">(</span><span class="pln">i</span><span class="pun">=</span><span class="lit">0</span><span class="pun">;</span><span class="pln">i</span><span class="pun"><</span><span class="pln"> _argc</span><span class="pun">;</span><span class="pln">i</span><span class="pun">++)</span><span class="pun">{</span><span class="pln">printf</span><span class="pun">(</span><span class="str">"n %d argument: %s"</span><span class="pun">,</span><span class="pln">i</span><span class="pun">+</span><span class="lit">1</span><span class="pun">,</span><span class="pln">_argv</span><span class="pun">[</span><span class="pln">i</span><span class="pun">]);</span><span class="pun">}</span><span class="pun">}</span><span class="kwd">void</span><span class="pln"> predominant</span><span class="pun">(</span><span class="kwd">int</span><span class="pln"> argc</span><span class="pun">,</span> <span class="kwd">char</span><span class="pun">*</span><span class="pln">argv</span><span class="pun">[])</span><span class="pun">{</span><span class="kwd">int</span><span class="pln"> i</span><span class="pun">;</span><span class="pln">clrscr</span><span class="pun">();</span><span class="pln">printf</span><span class="pun">(</span><span class="str">"n information in predominant:"</span><span class="pun">);</span><span class="pln">printf</span><span class="pun">(</span><span class="str">"n complete no. of arguments: %d"</span><span class="pun">,</span><span class="pln">argc</span><span class="pun">);</span><span class="kwd">for</span><span class="pun">(</span><span class="pln">i</span><span class="pun">=</span><span class="lit">0</span><span class="pun">;</span><span class="pln">i</span><span class="pun"><</span><span class="pln"> argc</span><span class="pun">;</span><span class="pln">i</span><span class="pun">++)</span><span class="pun">{</span><span class="pln">printf</span><span class="pun">(</span><span class="str">"n %d arguments:%s"</span><span class="pun">,</span><span class="pln">i</span><span class="pun">+</span><span class="lit">1</span><span class="pun">,</span><span class="pln">argv</span><span class="pun">[</span><span class="pln">i</span><span class="pun">]);</span><span class="pun">}</span><span class="pln">abc</span><span class="pun">();</span><span class="pln">getch</span><span class="pun">();</span><span class="pun">}</span> |