Добавлена серелизация. исправлены малые ошибки.
This commit is contained in:
parent
228f0baef3
commit
36c2faf176
8 changed files with 366 additions and 20 deletions
43
args_parser.h
Normal file
43
args_parser.h
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
#pragma once
|
||||
#include <getopt.h>
|
||||
|
||||
void print_help(const char *progname) {
|
||||
printf("Использование: %s [опции]\n", progname);
|
||||
printf(" -h, --help показать это сообщение\n");
|
||||
printf(" -r, --recursion N указать глубину json\n");
|
||||
printf(" -j, --json вывод в виде json\n");
|
||||
}
|
||||
|
||||
|
||||
void aaa(int* argc, char *argv[]){
|
||||
const struct option long_options[] = {
|
||||
{"help", no_argument, 0, 'h'},
|
||||
{"recursion", required_argument, 0, 'r'},
|
||||
{"json", no_argument, 0, 'j'},
|
||||
{0, 0, 0, 0}
|
||||
};
|
||||
|
||||
int opt;
|
||||
while ((opt = getopt_long(*argc, argv, "hr:j", long_options, NULL)) != -1) {
|
||||
switch (opt) {
|
||||
case 'h':
|
||||
print_help(argv[0]);
|
||||
exit(0);
|
||||
break;
|
||||
case 'r':
|
||||
opts.recursion = atoi(optarg);
|
||||
break;
|
||||
case 'j':
|
||||
opts.json = 1;
|
||||
break;
|
||||
default:
|
||||
print_help(argv[0]);
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue