I've known how to write a program that accepts command line arguments ever since I learned to program. What I don't understand is how these parameters get their values. Hopefully I don't have these two mixed up but there is a difference between an argument and a parameter. An argument is the value given to the function when it is called such as: foo( a, b, c); where a, b, and c are the values. A parameter is the values that are inside the function while is being called.
So my question is how does a person pass command line arguments to a program? I understand how to read the arguments, that argc
is the number of arguments, argv
is a pointer to an array of strings containing the arguments, etc. etc. but I just don't know how to give those arguments a value..
I'm looking for information for both C and C++. I'm sort of a novice at this.
In a Windows environment you just pass them on the command line like so:
argv[1] contain arg1 etc
The main function would be the following:
On *nix:
On Windows command line:
In both cases, given the
main
is declared as:argc
will be anint
with a value of 3,argv[1] = "arg1"
,argv[2] = "arg2"
, additionally,argv[0]
will have the name of the program,my_prog
.Command line arguments are normally separated by space, if you wish to pass an argument with a space, like
hello world
, use a double quote:On *nix, there's a very nice utility that lets you parse command-line flags and arguments in a very straightforward way. There's a nice example of its use on the same page.
You would then run your program and pass arguments to it in a very standardised way:
$ ./my_app -a -b -c argument1 argument2
You can do without it and just parse them on your own but if you're aiming to make your app useful to other people it's definitely worth the effort of making it conforming.
Just click on start menu and type cmd in search index...press enter ..now in cmd window type following command... "program_name arg1 arg2" (without quotes) and press enter key...and yeah its done! and