mirror of
https://github.com/KeqingMoe/argparse.git
synced 2025-07-03 22:54:39 +00:00
Only those places in the README where an error is explicitly found in the main function have been updated. Other uses of exit are left untouched as there is not enough context to know if return will work in that location. Signed-off-by: Sean Robinson <sean.robinson@scottsdalecc.edu>
35 lines
821 B
C++
35 lines
821 B
C++
// SPDX-License-Identifier: MIT
|
|
|
|
#include <argparse/argparse.hpp>
|
|
|
|
int main(int argc, char *argv[]) {
|
|
argparse::ArgumentParser program("test");
|
|
|
|
program.add_argument("integer").help("Input number").scan<'i', int>();
|
|
|
|
program.add_argument("floats")
|
|
.help("Vector of floats")
|
|
.nargs(4)
|
|
.scan<'g', float>();
|
|
|
|
try {
|
|
program.parse_args(argc, argv);
|
|
} catch (const std::runtime_error &err) {
|
|
std::cerr << err.what() << std::endl;
|
|
std::cerr << program;
|
|
return 1;
|
|
}
|
|
|
|
if (program.is_used("integer")) {
|
|
std::cout << "Integer : " << program.get<int>("integer") << "\n";
|
|
}
|
|
|
|
if (program.is_used("floats")) {
|
|
std::cout << "Floats : ";
|
|
for (const auto &f : program.get<std::vector<float>>("floats")) {
|
|
std::cout << f << " ";
|
|
}
|
|
std::cout << std::endl;
|
|
}
|
|
}
|