【发布时间】:2012-10-20 05:23:00
【问题描述】:
我目前的代码如下所示:
while (( flags = getopt(argc, argv, "abc")) != -1){
switch(flags){
case 'a':
dflag = 1;
break;
case 'b':
rflag = 1;
break;
case 'c':
cflag = 1;
break;
}
}
问题是我想包含类似 testprogram -c -d 1
如果需要 c 来处理 -d,如果没有 -c,testprogram -d 1 将只运行不带参数。
我尝试了各种各样的东西,但似乎无法让它发挥作用。
任何帮助将不胜感激。
【问题讨论】:
-
提醒我不必调试使用变量
dflag用于-a选项和变量rflag用于-b选项的代码。 -
@Jonathan:然后你去调试了……8分钟后你需要提醒吗?
-
我只是做了一个全局搜索和替换。如果我使用
xflag表示法,x和-x匹配。否则,我将为控制变量使用更长、更有意义的名称,这些名称不一定与选项字母相关。大纲的另一个问题是'如果在指定-a时使用dflag,当用户在输入-c后传递-d时将设置什么变量?'