Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Language: Algorithms
Expertise: Beginner
Aug 17, 1998

Switches

Question:
I'm attempting to write a command line program which has switch functionality (such as the DOS switches). I'm not sure how to code the program to accept the switches following the program call. It would run something like this:

sample.exe /n /d: /t blah blah:blah:blah

Answer:
Your program may need to handle other arguments as well as "switches." For example, file names. But here's some code I like to use to process any number of switches.

void main(int argc,char *argv[])
{
   int i;

   /* read command line parameters */
   for(i = 1;i < argc;i++) {
      switch(argv[i][0]) {
         case '/':
         case '-':
            switch(tolower(argv[i][1])) {
               case 'a': // got /a or -a
                  break;
               case 'b': // got /b or -b
                  break;
               case 'c': // etc.
                  break;
               default: // ???-show help
                  break;
            }
            break;
         default:
            // got an argument with no
            // - or / maybe a filename
            break;
      }
   }
}
This should get you started. It allows switches to be set off with either "/" or "-", to be upper or lower case, and gives a place to handle nonswitch arguments as well.
DevX Pro
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap
Thanks for your registration, follow us on our social networks to keep up-to-date