用户提供了一个选项。如果他同时输入-d -e
,则应打印一条错误消息,指出-d
并且-e
无法一起设置然后退出。
while ( ( option = getopt (argc, argv, "hd:e:") ) != -1 ){
switch ( option ) {
case 'd':
dflag = 1;
key = optarg;
break;
case 'e':
eflag = 1;
key = optarg;
break;
case 'h':
hflag = 1;
break;
default:
perror ( "" );
printf("default\n");
display_usage ( argv [0] , OPTIONS );
exit ( EXIT_FAILURE );
} /* end switch */
} /* end while */
答案 0 :(得分:1)
在while
阻止后,添加:
if (dflag && eflag) {
printf("error\n");
exit(EXIT_FAILURE);
}
另外,在进入dflag
循环之前,请确保将eflag
,while
和其他变量(根据需要)初始化为0。