Это небольшая библиотека для обработки аргументов командной строки для язка C.
- Включите в свой проект файлы cmdkeys.h, cmdkeys.c.
- В том месте, где вы хотите получить удобный способ работы с аргументами, например в функции main, вызовите функцию parseKeys, которая вернет вам указатель на структуру cmdkeys.
- Используйте функции для работы с этой структурой: hasKey, equalKeyValue, getKeyValue. Или пройдитесь по всем аргументам и ключам напрямую из структуры массива. Ключи находятся в поле keys(размер массива в keysArrSize), а глобальные аргументы в globalArgs(размер массива в globalArrSize).
- После использования этой структуры, передайте ее указатель в функцию freeCmdKeysStorage, чтобы освободить выделенную под нее память.
Именем ключа считается аргумент, начинающийся с символа дефиса. Пример:
-test
Имя данного ключа: test
Значением(аргументов) ключа считается аргумент, который идет после имени ключа. Пример:
-test value
Имя данного ключа: test Значение данного ключа: value
Глобальным аргументом считаются все аргументы, которые не относятся к ключам и их значениям. Пример:
arg1 -test value arg2 arg3
Глобальные аргументы здесь: arg1, arg2, arg3
-test1 -test2 value
В этом случае test1 считается ключом без аргументов(в структуре keyvalue поле value == NULL). Обычно обозначает флаг.
Готовый пример использования можно посмотреть в файле main.c