朋友们,我必须在
中将“ - ”作为选项参数Getopt类
我的代码在下面给出
Getopt g = new Getopt("cm_log_parser", args, "i:s"); //-D to enable debug log
while((opt = g.getopt()) != -1)
{
switch (opt)
{
case 'f'://To set file name(if above is not specified)
fileNameWithPath = getAndCheckOptArg(fFlag, opt, g);
fFlag = true;
break;
case 's'://To set the header
String separator = getAndCheckOptArg(hFlag, opt, g);
hFlag = true;
breakk;
case '?':
usage("Invalid option" + opt + " option");
break;
}
}
在我想要给出的参数中作为-s“ - ”但它显示出一些错误,如无效选项有没有办法做到这一点?
答案 0 :(得分:1)
--
具有特殊含义
用户可以强制getopt()使用特殊参数“ - ”单独停止扫描命令行。在“ - ”之前出现的任何元素都会被扫描并正常排列。 “ - ”之后的任何元素都返回为非选项argv元素。例如,“foo -a - bar -d”将返回选项'a',然后返回-1。 optind将指向“foo”,“bar”和“-d”作为非选项argv元素。 getopt()丢弃“ - ”。
所以我担心你无法解决这个问题。
答案 1 :(得分:0)
您可以使用-s-
(无空格)执行此操作。我不知道Getopt是否允许这样做。