spaceinvaders101
spaceinvaders101

Reputation: 33

Parsing command line arguments in c without spaces

I have a program that parses command line arguments using a while loop. Simply, while iterating through the length of argc, if an argument matches a flag than the next argument is taken as a variable. Now in my assignment we are asked to do this in a way that spaces between flags and integer arguments are optional.

For example if i input -k1 it is the same as -k 1 and 1 is the value stored. I can't find anything that allows this. The only thing I can think is that if argc is an even number it means that there are no pals between a set of argument and i could use scanf("-k%d",key).

Any helpful pointers for me?

Upvotes: 0

Views: 756

Answers (1)

dmi
dmi

Reputation: 1479

At a POSIX-compatible OS you can use a standart API for that: man getopt. It will do all the dirty job to parse the parameters and will provide you a convenient interface to deal with.

Here is a good example for it: http://www.gnu.org/software/libc/manual/html_node/Example-of-Getopt.html#Example-of-Getopt

Upvotes: 1

Related Questions