#pragma once #include #include 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"); printf(" -d, --directory путь для сканируемой директории\n"); } void args_pars(int* argc, char *argv[]){ const struct option long_options[] = { {"help", no_argument, 0, 'h'}, {"recursion", required_argument, 0, 'r'}, {"json", no_argument, 0, 'j'}, {"directory", required_argument, 0, 'd'}, {0, 0, 0, 0} }; int opt; while ((opt = getopt_long(*argc, argv, "hr:d:j", long_options, NULL)) != -1) { switch (opt) { case 'h': print_help(argv[0]); exit(0); break; case 'd': opts.dir = optarg; break; case 'r': opts.recursion = atoi(optarg); break; case 'j': opts.json = 1; break; default: print_help(argv[0]); exit(1); } } }