Command line parameter
|
Command line parameter
|
You may have been wondering about the
empty parentheses in the first line of the main function,i.e.
main().
|
The parentheses may
contain special arguments that allow parameters to be passed
to main from the operating system.
|
Most versions of C permit two such
arguments, which are traditionally called argc and argv,
respectively.
|
The first of these, argc, must
be an integer variable, while the second, argv, is an array of
pointers of characters; i.e., an array of strings.
|
Each string in this array will
represent a parameter that is passed to main. The value
of argc will indicate the number of parameters passed.
|
Example: The following outline indicates how the
arguments argc and argv are defined within
main.
|
Vod main(int argc, char *argv[])
|
{
|
.....
|
}
|
The first line can be written without
the keyword void, i.e.,
|
main(int argc, char *argv[])
|
A program is normally executed by
specifying the name of the program within a menu-driven environment.
|
Some compilers also allow a program
to be executed by specifying the name of the program (actually, the name of
the file containing the compiled object program) at the operating system
level.
|
The program name is then interpreted
as an operating system command. Hence, the line in which its appears is
generally referred to as a command line.
|
In order to pass one or more
parameters to the program when it is executed from the operating system, the
parameters must follow the program name on the command line.
|
E.g.: Program-name parameter 1
parameter 2 . . . parameter n
|
The individual items must be
separated from one another either by blank spaces or by tabs.
|
Some operating systems permits blank
spaces to be included within a parameter provided the entire parameter is
enclosed in quotation marks.
|
The program name will be stored as
the first item in argv, followed by each of the parameters.
Hence, if the program name is followed by n parameters.
|
There will be (n+1) entries
in argv, ranging from argv [0] to argv
[n]. Moreover, argc will automatically be assigned the
value (n+1).
|
Note that the value for argc is not
supplied explicitly from the command line.
|
When the program is executed, the
Count value for argc and the elements of argv will
be displayed as separate lines of output.
|
Sample red white blue
|
then the program will be executed,
resulting in the following output.
|
argc =4
|
argv [0]=sample.exe
|
argv [1]=red
|
argv [2]=white
|
argv [3]=blue
|
The output tells us that four
separate items have been entered form the command line.
|
The first is the program name,
sample. exe, followed by the three parameters., red. White and blue.
|
Each item is an element in the
array argv. (Name that sample.exe is the name of the object file
resulting from the compilation of the source code sample. C.)
|
Similarly, if the command line is
|
Sample red "white blue"
|
The resulting output will be
|
argc=3
|
argv [0]=sample.exe
|
argv [1]=red
|
argv [2]=white blue
|
In, this case the string "white
blue" will be interpreted as a single parameter, because of the
quotation marks.
|
Once the parameters have been
entered, they can be utilized within the program in any desired manner.
|
One particularly common application
is to specify the names of data files as command line parameter.
|
Thursday, 5 December 2019
C Tutorial - Command line parameter of C with Example
100+ Best Home Decoration Ideas For Christmas Day 2019 To Make Home Beautiful
Best gifts for Christmas Day | Greeting cards for Christmas Day | Gift your children a new gift on Christmas day This Christmas d...
-
Code: #include #include char str[100]; void main() { int i, t, j, len; printf("Enter a string : "); scan...
-
Code: using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace PrimeNumber { class Prog...
-
Code: import java.util.Collection; import java.util.Iterator; import java.util.concurrent.LinkedBlockingQueue; import java.util.concu...