devel   4583

« earlier    

The Lean Mean C++ Option Parser: Main Page
<code class="language-c">
#include <iostream>
#include "optionparser.h"
enum optionIndex { UNKNOWN, HELP, PLUS };
const option::Descriptor usage[] =
{UNKNOWN, 0,"" , "" ,option::Arg::None, "USAGE: example [options]\n\n"
"Options:" },
{HELP, 0,"" , "help",option::Arg::None, " --help \tPrint usage and exit." },
{PLUS, 0,"p", "plus",option::Arg::None, " --plus, -p \tIncrement count." },
{UNKNOWN, 0,"" , "" ,option::Arg::None, "\nExamples:\n"
" example --unknown -- --this_is_no_option\n"
" example -unk --plus -ppp file1 file2\n" },
int main(int argc, char* argv[])
argc-=(argc>0); argv+=(argc>0); // skip program name argv[0] if present
option::Stats stats(usage, argc, argv);
option::Option options[stats.options_max], buffer[stats.buffer_max];
option::Parser parse(usage, argc, argv, options, buffer);
if (parse.error())
return 1;
if (options[HELP] || argc == 0) {
option::printUsage(std::cout, usage);
return 0;
std::cout << "--plus count: " <<
options[PLUS].count() << "\n";
for (option::Option* opt = options[UNKNOWN]; opt; opt = opt->next())
std::cout << "Unknown option: " << opt->name << "\n";
for (int i = 0; i < parse.nonOptionsCount(); ++i)
std::cout << "Non-option #" << i << ": " << parse.nonOption(i) << "\n";
devel  commandlineargs  parser  cplusplus  c  optionparser  alternativeto  ezoptionparser  getopt 
4 days ago by kme

« earlier    

related tags

actionscript  agile  alternativeto  android  automation  bash  bitbucket  blog  build  butwhy  c  cheatsheet  cli  cmake  codingstyle  coffeescript  colorized  commandline  commandlineargs  commandlinearguments  compiler  component  cplusplus  css  cygwin  dammitbrain  dash  data  debugging  design  deutschland  development  devops  devopscats  diff  differ  documentation  easy_install  ebook  embedded  error  errormessage  essential  ezoptionparser  favorite  fixedwidth  flash  font  formatter  framework  fromsource  getopt  git  github  glossary  hook  howto  html  idle  importexport  includes  inheritance  inspiration  irb  issues  issuetracking  java  javascript  jira  json  language  library  lingo  lint  linter  linux  list  literateprogramming  logging  mac  maybesolution  memorymanagement  metaclass  metaprogramming  mixins  mojolicious  monospace  movein  mtasc  multipleinheritance  needshelp  newbie  oop  opensource  optionparser  osx  package  packagemanagement  packagemangement  packaging  packaing  parser  pdb  perl  php  pip  postgres  prettifier  programming  pypi  python  python2  qt  qt5  question  r  react  reactjs  recommentation  reference  repl  rmarkdown  ruby  samplecode  searchengine  setuptools  shell  shellscripting  software  solution  staticanalysis  stats  subcommand  sysadmin  talk  tcl  tech  testing  textprocessing  tipsandtricks  todo  toolchain  tutorial  typography  unix  utility  video  vmm  vuejs  web  webapp  webdevel  whereis  windows  xml  xpath  xslt 

Copy this bookmark: