Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?


Failed to load latest commit information.
Latest commit message
Commit time
November 26, 2018 09:31
July 16, 2013 09:37
February 10, 2022 16:25
November 23, 2018 18:24
February 28, 2022 16:33
February 11, 2022 22:45


Build Status

argparse - A command line arguments parsing library in C (compatible with C++).


This module is inspired by parse-options.c (git) and python's argparse module.

Arguments parsing is common task in cli program, but traditional getopt libraries are not easy to use. This library provides high-level arguments parsing solutions.

The program defines what arguments it requires, and argparse will figure out how to parse those out of argc and argv, it also automatically generates help and usage messages and issues errors when users give the program invalid arguments.


  • handles both optional and positional arguments
  • produces highly informative usage messages
  • issues errors when given invalid arguments

There are basically three types of options:

  • boolean options
  • options with mandatory argument
  • options with optional argument

There are basically two forms of options:

  • short option consist of one dash (-) and one alphanumeric character.
  • long option begin with two dashes (--) and some alphanumeric characters.

Short options may be bundled, e.g. -a -b can be specified as -ab.

Options are case-sensitive.

Options and non-option arguments can clearly be separated using the -- option.