# ArgsParse Простой парсер аргументов на C и макросах. ## Использование Функция **main** изменяется. Пример: ```c #include "argsparse.h" /* Параметры */ arg_property_t config[] = { "--hello", "-h/--help", "-o/--out=filename" }; /* Их количество */ size_t conf_size = 2; /* * main принимает: * args_t - переменная для парсинга аргументов * args_config_t - массив типа arg_property_t * args_config_size_t - размер конфигурации */ int main(args_t argv, args_config_t config, args_config_size_t conf_size) { if (argv->ArgsGetSimpleSize()) { if (argv->ArgsGetSimpleNumbers()[0] == 0) { puts("Hello, world!"); } if (argv->ArgsGetSimpleNumbers()[0] == 1) { puts( "Options:" "\n" " " "--hello " " - " "print \"Hello, world!\"" "\n" " " "-h / --help" " - " "print this help" "\0" ); } } else { puts("Unknown option!"); } return EXIT_SUCCESS; } ``` ## Методы обьекта типа args_t ```c args_t->ArgsGetSimpleFlags(); /* Получить массив обычных флагов */ args_t->ArgsGetNamesVals(); /* Получить массив значений именнованых флагов */ args_t->ArgsGetNamesFlags(); /* Получить массив именнованых флагов */ args_t->ArgsGetDefault(); /* Получить стандартный параметр */ args_t->ArgsGetSimpleSize(); /* Получить количество обычных флагов */ args_t->ArgsGetNamesSize(); /* Получить количество именнованых флагов */ args_t->ArgsGetSimpleNumbers(); /* Получить массив номеров обычных флагов в конфигурации */ args_t->ArgsGetNamesNumbers(); /* Получить массив номеров именнованых флагов в конфигурации */ ```