Имеем:
#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)
- Форум Помогите с алгоритмом (2005)
- Форум GETOPT_HELP_CHAR (2006)
- Форум Помогите реализовать блочный ввод- вывод. (2011)
- Форум «Ненормальное» сравнение переменной shn с единицей. (2010)
- Форум bash оптимизация изображений (2019)
- Форум Утилита для изменения аптайма (2008)
- Форум IPC не компилируется (2006)
- Форум bindfs и все-все-все (2022)