#include #include using namespace TCLAP; int main(int argc, char** argv) { // Wrap everything in a try block. Do this every time, // because exceptions will be thrown for problems. try { // Define the command line object. CmdLine cmd("Command description message. This is a long multi-line message meant to test line wrapping. This is more text that doesn't really do anything besides take up lots of space that otherwise might be used for something real. That should be enough, don't you think?", ' ', "0.9"); vector allowed; allowed.push_back("homer"); allowed.push_back("marge"); allowed.push_back("bart"); allowed.push_back("lisa"); allowed.push_back("maggie"); MultiArg nameArg("n","name","Name to print. This is a long, nonsensical message to test line wrapping. Hopefully it works.",true,allowed); cmd.add( nameArg ); vector iallowed; iallowed.push_back(1); iallowed.push_back(2); iallowed.push_back(3); UnlabeledMultiArg intArg("times","Number of times to print",iallowed); cmd.add( intArg ); // Parse the args. cmd.parse( argc, argv ); // Get the value parsed by each arg. vector num = intArg.getValue(); for ( unsigned int i = 0; i < num.size(); i++ ) cout << "Got num " << num[i] << endl; vector name = nameArg.getValue(); for ( unsigned int i = 0; i < name.size(); i++ ) cout << "Got name " << name[i] << endl; } catch (ArgException e) // catch any exceptions { cerr << "error: " << e.error() << " for arg " << e.argId() << endl; } }