Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 带有重复选项输入的getopt_long()/getopt()_C_Getopt Long - Fatal编程技术网

C 带有重复选项输入的getopt_long()/getopt()

C 带有重复选项输入的getopt_long()/getopt(),c,getopt-long,C,Getopt Long,我刚刚了解了这两个函数。一直在网上搜索,了解它们的用法。发现了一件对解析命令行选项输入非常重要的事情,但没有讨论 在这种情况下,如果输入了重复的选项,两个函数都无法处理它。我想知道是否有任何库函数用于此 如果我必须自己处理的话。我的想法是将短选项收集到一个数组中,然后在数组中找到相同的选项 有更好的方法吗?如果要对重复选项执行特殊操作,可以在选项处理代码中管理状态 类似于-v |--verbose的内容可以重复以获得额外的详细性,并且vebosity处理代码是 // initialize int

我刚刚了解了这两个函数。一直在网上搜索,了解它们的用法。发现了一件对解析命令行选项输入非常重要的事情,但没有讨论

在这种情况下,如果输入了重复的选项,两个函数都无法处理它。我想知道是否有任何库函数用于此

如果我必须自己处理的话。我的想法是将短选项收集到一个数组中,然后在数组中找到相同的选项


有更好的方法吗?

如果要对重复选项执行特殊操作,可以在选项处理代码中管理状态

类似于
-v |--verbose
的内容可以重复以获得额外的详细性,并且vebosity处理代码是

// initialize
int verbose_level=0

// in the getopt case for -v
  verbose_level++;
(对于可以重复使用所有应使用的参数的选项,请加载列表或类似列表)

如果不希望重复执行任何特殊操作,只需每次设置该值

  // in the case
  verbose_level = 1;
如果你想检测重复

  // in the case
  if (verbose_level) {
   // handle this case as an error...
}

我的意思是,如果像这样键入命令:>Appexec.exe——相同的选项——相同的选项。所以在这种情况下,选项处理应该向th用户显示错误信息并退出。我想没有这样的libapi来处理这个问题。这件事必须自己做。