Command Line Argument
Command Line Argument in C
If any enter worth is handed via command immediate on the time of working of program is named command line argument. It’s a idea to passing the arguments to the primary() operate through the use of command immediate.
When Use Command Line Argument
When it’s essential to growing 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 will create our personal instructions.
In Command line arguments software most important() operate will takes two arguments that’s;
- argc
- argv
argc: argc is an integer kind variable and it holds complete variety of arguments which is handed into most important operate. It take Variety of arguments within the command line together with program identify.
argv[]: argv[] is a char* kind variable, which holds precise arguments which is handed to most important operate.
Compile and run CMD packages
Command line arguments will not be 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
- Rationalization: Right here mycmd is your program file identify and TCC is a Command. In “mycmd 10 20” assertion we cross two arguments.
Instance of Command line argument
1 |
<span class="com">#embody</span><span class="str"><stdio.h></stdio.h></span><span class="com">#embody</span><span class="str"><conio.h></conio.h></span><span class="kwd">void</span><span class="pln"> most important</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 |
Observe: 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 identify. So right here two arguments and one program identify (mycmd.exe) complete 3 arguments.
Instance of Command line argument
1 |
<span class="com">#embody</span><span class="str"><stdio.h></stdio.h></span><span class="com">#embody</span><span class="str"><conio.h></conio.h></span><span class="kwd">void</span><span class="pln"> most important</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 identify : %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 it is a programProgram identify : c:/tc/bin/mycmd.c1st arg : this2nd arg : is3rd arg : a4th arg : program5th arg : (null) |
Rationalization: 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 kind TC IDE
Command line arguments associated packages will not be 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 |
- At any time when this system is compiled and hyperlink we are going to get .exe file and that .exe file itself is command.
- In above instance program identify is mycmd.c so executable file is mycmd.exe and command identify is mycmd.
- To load the applying in to the reminiscence we required to make use of program identify and command identify.
Entry knowledge from exterior of most important
- argc and agrv are native variables to most important operate as a result of these are the primary operate parameters.
- In response to the storage courses of C argc and argv are auto variable to most important operate, so we can’t prolong the vary of auto variable.
- By utilizing argc and argv we can’t entry command from knowledge exterior of the primary operate.
- In implementation once we required to entry command from knowledge exterior of the primary operate then use _argc, _argv variables.
- _argc and _argv are international variable which is asserted in dos.h.
Instance
1 |
<span class="com">#embody</span><span class="str"><stdio.h></stdio.h></span><span class="com">#embody</span><span class="str"><conio.h></conio.h></span><span class="com">#embody</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">"knowledge 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"> most important</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 knowledge in most important:"</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> |