本文整理汇总了C++中AnyOption::setCommandFlag方法的典型用法代码示例。如果您正苦于以下问题:C++ AnyOption::setCommandFlag方法的具体用法?C++ AnyOption::setCommandFlag怎么用?C++ AnyOption::setCommandFlag使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AnyOption
的用法示例。
在下文中一共展示了AnyOption::setCommandFlag方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: AnyOption
void
detailed( int argc, char* argv[] )
{
/* 1. CREATE AN OBJECT */
AnyOption *opt = new AnyOption();
/* 2. SET PREFERENCES */
//opt->noPOSIX(); /* do not check for POSIX style character options */
//opt->setVerbose(); /* print warnings about unknown options */
//opt->noUsage(); /* stop printing Usage */
/* 3. SET THE USAGE/HELP */
opt->addUsage( "Usage: foo [OPTIONS]... [IMAGE FOLDER] " );
opt->addUsage( "Unknown options/arguments encountered " );
opt->addUsage( "Use -h or --help for a complete list of options" );
/* 4. SET THE OPTION STRINGS/CHARACTERS */
opt->setFlag( "help", 'h' ); /* for help */
opt->setOption( "width", 'w' );
opt->setOption( "height" );
opt->setFlag( "convert");
opt->setCommandOption( "name", 'n' );
opt->setCommandFlag( "help" );
opt->setFileOption( "title" );
/* 5. PROVIDE THE COMMANDLINE AND RESOURCE FILE */
if ( ! opt->processFile( "sample.txt" ) )
cout << "Failed processing the resource file" << endl ;
opt->processCommandArgs( argc, argv );
/* 6. GET THE VALUES */
/* help */
if( opt->getFlag( "help" ) || opt->getFlag( 'h' ) ){
opt->printUsage();
/* print help here */
}
cout << "THE OPTIONS : " << endl << endl ;
if( opt->getValue( 'w' ) != NULL )
cout << "w : " << opt->getValue( 'w' ) << endl ;
if( opt->getValue( "width" ) != NULL )
cout << "width : " << opt->getValue( "width" ) << endl ;
if( opt->getValue( "height" ) != NULL )
cout << "height : " << opt->getValue( "height" ) << endl ;
if( opt->getValue( "name" ) != NULL )
cout << "name : " << opt->getValue( "name" ) << endl ;
if( opt->getValue( 'n' ) != NULL )
cout << "n : " << opt->getValue( 'n' ) << endl ;
if( opt->getValue( "title" ) != NULL )
cout << "title : " << opt->getValue( "title" ) << endl ;
if( opt->getFlag( "convert" ) )
cout << "convert : set " << endl ;
cout << endl ;
/* 7. GET THE ACTUAL ARGUMNETS AFTER THE OPTIONS */
cout << "THE ARGUMENTS : " << endl << endl ;
for( int i = 0 ; i < opt->getArgc() ; i++ ){
cout << opt->getArgv( i ) << endl ;
}
cout << endl;
/* 7. DONE */
delete opt;
}
示例2: main
int main(int argc, char **argv)
{
AnyOption *opt = new AnyOption();
opt->addUsage("");
opt->addUsage("Usage: ");
opt->addUsage("");
opt->addUsage(" -h --help Print usage ");
opt->addUsage(" -L --subsecLet Letter of Subsector (A-P) to generate, if omitted will generate entire sector ");
opt->addUsage(" -d --detail %|zero|rift|sparse|scattered|dense ");
opt->addUsage(" -m --maturity Tech level, backwater|frontier|mature|cluster ");
opt->addUsage(" -a --ac Two-letter system alignment code ");
opt->addUsage(" -s --secName Name of sector. For default output file name and sectorName_names.txt file");
opt->addUsage(" -p --path Path to sectorName_names.txt file ");
opt->addUsage(" -o --outFormat 1|2|3|4|5|6 : v1.0, v2.0, v2.1 v2.1b, v2.2, v2.5 ");
opt->addUsage(" -u --outPath Path and name of output file ");
opt->addUsage("");
opt->setCommandFlag("main", 'm');
opt->setCommandFlag("system", 'S');
opt->setCommandFlag("sector", 's');
opt->setCommandFlag("subsector", 'u');
opt->setCommandFlag("help", 'h');
opt->setCommandOption("", 'x');
opt->setCommandOption("", 'y');
opt->setCommandOption("", 'z');
opt->setCommandOption("detail", 'd');
opt->setCommandOption("seed");
//opt->setVerbose(); /* print warnings about unknown options */
//opt->autoUsagePrint(true); /* print usage for bad options */
opt->processCommandArgs(argc, argv);
#if 0
if(! opt->hasOptions()) { /* print usage if no options */
opt->printUsage();
delete opt;
return 0;
}
#endif
if(opt->getFlag("help") || opt->getFlag('h')) {
opt->printUsage();
delete opt;
return 0;
}
//long seed = 12345;
long x = 0;
long y = 10;
long z = 0;
int detail = 3;
if(opt->getValue('x') != NULL) {
x = atol(opt->getValue('x'));
}
if(opt->getValue('y') != NULL) {
y = atol(opt->getValue('y'));
}
if(opt->getValue('z') != NULL) {
z = atol(opt->getValue('z'));
}
if(opt->getValue("seed") != NULL) {
//seed = atol(opt->getValue("seed"));
}
if(opt->getValue("detail") != NULL) {
detail = atol(opt->getValue("detail"));
}
long startX, startY, startZ;
long endX, endY, endZ;
long sectorX = 8 * 4;
long sectorY = 10 * 4;
long sectorZ = 1;
if(opt->getFlag("sector")) {
startX = x / sectorX;
endX = startX + sectorX - 1;
startY = y / sectorY;
endY = startY + sectorY - 1;
startZ = z / sectorZ;
endZ = startZ + sectorZ - 1;
} else {
startX = x;
endX = x;
startY = y;
endY = y;
startZ = z;
endZ = z;
}
for(int i = startX; i <= endX; i++) {
for(int j = startY; j <= endY; j++) {
for(int k = startZ; k <= endZ; k++) {
printSystem(x, y, z, detail);
}
}
}
}