threed-beam-fea/ext/tclap-1.2.1/examples/test9.cpp

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; }
}