Имеем: #include <stdio.h> #include <sys/types.h> #include <string.h> #include <stdlib.h> #include <getopt.h> #include <time.h> #include <ctype.h> #define _XOPEN_SOURCE // glibc 2 needs this #define _GNU_SOURCE 1 // GLIBC static struct option const opts[] = { {"input-file", required_argument, NULL, "i"}, {"output-file", required_argument, NULL, "o"}, {"word-start", required_argument, NULL, "s"}, {"word-length", required_argument, NULL, "l"}, {"time", required_argument, NULL, "t"}, {"help", no_argument, NULL, "h"}, {"version", no_argument, NULL, "v"}, {NULL, 0, NULL, 0} }; main ... int optcur; int optionindex = -1; while ((optcur = getopt_long(argc, argv, "i:o:s:l:hv", opts, &optionindex)) != -1) { switch (optcur) { case 'i': finputname = optarg; break; case 'o': foutputname = optarg; break; case 's': posofword = atoi(optarg); break; case 'l': wordlen = atoi(optarg); break; case 't': break; case 'h': usage(0); case 'v': break; case ':': printf("%s %s %s\n", "Флаг", optcur, "требует аргумент!"); usage(2); case '?': printf("%s %s\n", "Неизвестный флаг", optcur); usage(2); /*default: usage(2); */ } Компилим, запускаем: root# ./a.out -h -i, --input-file Файл, который будет использоваться для ввода -o, --output-file Файл, который будет использоваться для вывода -s, --word-start Позиция слова -l, --word-length Длина слова -h, --help Показать это справочное сообщение -v, --version Показать текущую версию root# ./a.out --help root# т.е. никакой ошибки не выдаётся, но и не выдаётся справочное сообщение - где ошибся?
Ответ на:
комментарий
от ananas
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум [C] Параметры, Case (2012)
- Форум Xlib. С ошибками не валится, но не работает. (2012)
- Форум [C] switch vs function pointer benchmark (2011)
- Форум Помогите с алгоритмом (2005)
- Форум GETOPT_HELP_CHAR (2006)
- Форум Помогите реализовать блочный ввод- вывод. (2011)
- Форум «Ненормальное» сравнение переменной shn с единицей. (2010)
- Форум bash оптимизация изображений (2019)
- Форум Критическая секция (2008)
- Форум SDL, openGL - криво вертится (2011)