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 v
In a Windows environment you just pass them on the command line like so:
myProgram.exe arg1 arg2 arg3
argv[1] contain arg1 etc
The main function would be the following:
int main (int argc, char *argv[])
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
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.
On *nix:
$ ./my_prog arg1 arg2
On Windows command line:
C:\>my_prog.exe arg1 arg2
In both cases, given the main
is declared as:
int main (int argc, char *argv[])
argc
will be an int
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:
$ ./my_prog "hello world"