C/C++: Разбор параметров командной строки - unistd.h :: getopt
-
Практически в каждой программе на С/С++ требуется разбирать параметрые переданные через argc/argv из коммандной строки при запуске программы, проще всего для этого использовать функцию getopt из библиотеки unistd.h
Вот небольшой пример использования, 3 аргументом передётся список имён параметров ":o:i:t:" :
#include < unistd.h>
#include < stdlib.h>
#include < stdio.h>
int main(int argc, char *argv[]){
int par=0;
printf("%s ",argv[0]);
while( (par = getopt(argc, argv, ":o:i:t:")) != -1){
printf("-%c %s ",par,optarg);
};
printf("\n");
return 0;
}
А вот так можно проверить код:
gcc getopt.c && ./a.out -o12 -itest1.py -tDesktop
./a.out -o 12 -i test1.py -t Desktop
$
Следует отметить, что для разбора длинных параметров (типа --help, --prefix=~/ .. etc) следует использовать getopt_long из той же библиотеки. Документацию и дополнительные примеры можно найти тут
http://www.gnu.org/software/libtool/manual/libc/Getopt.html
А так же, что специально для синтаксического анализа параметров командной строки есть библиотека popt.h
текст недоступен
другие страницы раздела
- С/C++: libconfig - библиотека для обработки конфигурационных файлов
- Python: strip split join
- jQuery: простые примеры
- python: работа со строками и словарями, формирование sql запросов
- Выбор платформы для презентаций
- Пакетная обработка DBF Foxpro файлов, Import в FoxPRO
- Расширение Firefox собственным Меню -- это очень просто
- Разработка открытой альтернативы закрытому отраслевому ПО "Архивный Фонд"
- Django использование select_related для оптимизации работы
- Linux Django pyodbc MSSQL
- Sqlite3 работа с несколькими базами
- python ProxyError
- Python: сортировка списков
- Flask.admin FileAdmin проблема с локалями
- Flask restful сериализация sqlalchemy моделей в Json поток
комментарии (2)
2010-01-12 22:42:32
2010-01-12 22:57:09