https://github.com/dahlitzflorian/c-argparser
Simple CLI argument parser written in C
https://github.com/dahlitzflorian/c-argparser
Last synced: 2 months ago
JSON representation
Simple CLI argument parser written in C
- Host: GitHub
- URL: https://github.com/dahlitzflorian/c-argparser
- Owner: DahlitzFlorian
- License: mit
- Created: 2017-12-14T08:13:44.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2017-12-16T20:06:34.000Z (over 7 years ago)
- Last Synced: 2025-01-08T13:28:16.395Z (4 months ago)
- Language: C
- Size: 3.91 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# C argument parser #
Simple argument parser written in and for cIt was / is being developed as a simple extension in university during programming classes.
## How to use ##
1. specify argument
```C
Argument arg_db = { 'd', "Database file", TYPE_STR };
```
2. combine arguments into array
```C
Argument *args[] = { &arg_db };
```
3. call argparser
```C
parse_args(argc, argv, args, 1);
```
4. Check if argument was passed and is valid
```C
if (arg_db.passed && !arg_db.invalid)
```
5. Access passed data
```C
arg_db.value.str
```## Access passed data ##
- Character: `arg.value.chr`
- String: `arg.value.str`
- Integer: `arg.value.integer`## Argument types ##
| type name | values |
| -- | :--:|
| TYPE_FLAG | Flag, only needs to be added |
| TYPE_STR | a-zA-Z0-9!"#$%'()*+´-./:;<=>?@[\]^_`{\|}~ |
| TYPE_STR_ALPHANUM | a-zA-Z0-9 |
| TYPE_STR_ALPHA_UPPER | A-Z |
| TYPE_STR_ALPHA_LOWER | a-z |
| TYPE_STR_ALPHA | a-zA-Z |
| TYPE_INT | Integer |
| TYPE_CHAR | single Character |## TO DO ##
- add support for longer parameter names
- add support for strings with whitespaces