Small demo of The Lean Mean C++ Option Parser.
#include <iostream>
#include <string>
#include <vector>
enum optionIndex { UNKNOWN, HELP, PLUS };
{
"Options:" },
" example --unknown -- --this_is_no_option\n"
" example -unk --plus -ppp file1 file2\n" },
{0,0,0,0,0,0}
};
int main(int argc, char* argv[])
{
argc-=(argc>0); argv+=(argc>0);
std::vector<option::Option> options(stats.options_max);
std::vector<option::Option> buffer(stats.buffer_max);
if (parse.error())
return 1;
if (options[HELP] || argc == 0) {
return 0;
}
std::cout << "--plus count: " <<
options[PLUS].count() << "\n";
std::cout << "Unknown option: " << std::string(opt->name,opt->namelen) << "\n";
for (int i = 0; i < parse.nonOptionsCount(); ++i)
std::cout << "Non-option #" << i << ": " << parse.nonOption(i) << "\n";
}
Definition in file example.cpp.