51 lines
1.4 KiB
C++
51 lines
1.4 KiB
C++
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; }
|
|
}
|
|
|