diff options
Diffstat (limited to 'tclap-1.2.1/examples/test9.cpp')
-rw-r--r-- | tclap-1.2.1/examples/test9.cpp | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/tclap-1.2.1/examples/test9.cpp b/tclap-1.2.1/examples/test9.cpp new file mode 100644 index 0000000..8d9e64e --- /dev/null +++ b/tclap-1.2.1/examples/test9.cpp @@ -0,0 +1,56 @@ +#include <string> +#include <iostream> +#include <algorithm> +#include "tclap/CmdLine.h" + +using namespace TCLAP; +using namespace std; + +int main(int argc, char** argv) +{ + try { + + CmdLine cmd("Command description message", ' ', "0.9",false); + + SwitchArg reverseSwitch("r","reverse","REVERSE instead of FORWARDS", false); + cmd.add( reverseSwitch ); + + MultiSwitchArg verbose("V","verbose","Level of verbosity"); + cmd.add( verbose ); + + MultiSwitchArg noise("N","noise","Level of noise",5); + cmd.add( noise ); + + UnlabeledValueArg<string> word("word","a random word", false, "string", + "won't see this",false); + cmd.add( word ); + + // Uncommenting the next arg will (correctly) cause an exception + // to be thrown. + +// UnlabeledMultiArg<string> badword("badword","a bad word", false,"string"); +// +// cmd.add( badword ); + + cmd.parse( argc, argv ); + + bool reverseName = reverseSwitch.getValue(); + + if ( reverseName ) + cout << "REVERSE" << endl; + else + cout << "FORWARD" << endl; + + if ( verbose.isSet() ) + cout << "Verbose level: " << verbose.getValue() << endl; + + if ( noise.isSet() ) + cout << "Noise level: " << noise.getValue() << endl; + + if ( word.isSet() ) + cout << "Word: " << word.getValue() << endl; + + } catch (ArgException &e) // catch any exceptions + { cerr << "error: " << e.error() << " for arg " << e.argId() << endl; } +} + |