Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.04.2012, 18:33   #1
Демик
Форумчанин
 
Аватар для Демик
 
Регистрация: 30.01.2011
Сообщений: 231
По умолчанию getopt|C| Не срабатывает case

Помогите найти в чем я ошибся. Вот что написано в статье:
Цитата:
Как видно, getopt() будет возвращать :, если для опции не указан аргумент, и ?, если введена вообще неверная опция. Учтите: в случае, когда первым символом optstring не является двоеточие, getopt() возвращает ? для обоих видов ошибок.
Вот что сделал я:
Код:
#include <getopt.h>
#include <stdlib.h>
#include <string.h>
#include <stdio.h>

int main( int argc, char *argv[] ) {
int key = 0;
int flgA = 0, flgB = 0, flgC = 0, flgD = 0;
extern char *optarg;
extern int optopt, optind, opterr;
opterr = 0;
key = getopt( argc, argv, ":abcd:" );
	while ( key != -1 ) {
		switch ( key ) {
			case 'a':
				++flgA;
				printf("%d\n",flgA);
				break;
				
			case 'b':
				++flgB;
				printf("%d\n",flgB);
				break;
				
			case 'c':
				++flgC;
				printf("%d\n",flgC);
				break;
				
			case 'd':
				++flgD;
				printf("%d\n",flgD);
				break;
					
			case ':':
				printf( "%s: опции '-%c' требуется аргумент\n", argv[0], optopt); exit(1);	
				
			case '?':
				default:printf("Ключ -%c отсутствует\n", optopt); exit(1);
		}
		key = getopt( argc, argv, "?-abcd::" );
	}
//printf("%s\n",optarg);
return 0;
}
Но работает только вывод ошибки, если указан неверный ключ, а если отсутствуют параметры, то программа ничего не выдаёт, подскажите, в чем дело?
Злостный анимешнег =^.^=
Демик вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не срабатывает mouseenter() shevron JavaScript, Ajax 3 28.02.2012 10:30
Не срабатывает чексбокс Syltan PHP 2 12.07.2010 03:29
getopt отказывается обрабатываеть 3-ю опцию gignet Общие вопросы C/C++ 3 25.06.2010 13:58
Не срабатывает макрос... Busine2009 Фриланс 6 14.08.2009 10:14
Не срабатывает OnCloseQuery Arkuz Общие вопросы Delphi 4 31.07.2009 01:32