next up previous contents index Api Refernce
Next: 6.2 Calling functions Up: 6 Usage Previous: 6 Usage

6.1 Retrieve a single Value

The easiest way to use the command line library is to use the GetSingeValue function.

Calling aCmdLineObj.GetSingleValue(-N, nMyIntVar) will set nMyIntVar to the value given at the command line for option -N.

If your program's user uses -N 17 as part of the command line, then nMyIntVar will be set to 17. It will be left untouched, if the user does not use the option -N.

A complete working example looks like this:


#include <iostream>
#include <string>

#include "cmdline.h"

using namespace std;
using namespace cmdl; // defined in cmdline.h

int main(int argc, char *argv[])
{
   int nTest = 0;
   string strTest;

   CmdLine CL; 

   CL.Init( --argc, ++argv ); // skip program name (argv[0])

   // set nTest is set to an int-value, if given at the command line
   CL.GetSingleValue( "-N", nTest );    

   // set strTest to a string-value, if given at the command line
   CL.GetSingleValue( "-S", strTest );

   CL.Done(); // checks if every option given was handled.

   cout << "an integer:" << nTest << endl
        << "a string:  " << strTest << endl;
}

Assume the program above is named cmdltest. When calling cmdltest -N 17 -S "a String" then nTest is set to 17 and strTest to "a String".

The program's output will be:

an integer: 17
a string: a String

After each call of GetSingleValue the given command line option is marked handled. Thus, only the first call of GetSingleValue (with a certain command line option as an argument) has an effect. Subsequent calls (with the same command line option) are ignored.

A sample with with error handling is found here.

See also the CmdLine's member function call, which is explained in the next section.


next up previous contents index Api Refernce
Next: 6.2 Calling functions Up: 6 Usage Previous: 6 Usage
Christian Neise
2003-01-12