问题标签 [getopt]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
13523 浏览

c - 使用 getopt 为命令行选项提供两个参数

使用 getopt 时,是否有另一种方法可以将两个参数作为单个字符串传递给选项?通常我会做以下事情:

然后我将不得不明确拆分参数字符串

所以,我想知道是否可以执行以下操作:

使 getopt 将“值”视为 -o 第二个参数而不是命令参数。

0 投票
2 回答
123 浏览

c - CLI 实用程序帮助文件的最佳实践

我已经完成了一个命令行实用程序,它通过 getopt_long 解析参数。总结一下,我需要实现一个 -h 或 --help 开关,它将打印出参数列表以及描述和默认值。

有没有我可以利用的 GNU 框架?如果没有,我意识到有几种方法可以手动完成。通常认为最好的方法是什么?

0 投票
1 回答
1441 浏览

eclipse - Eclipse CDT 中无法解析 getopt_long

在 C++ 程序中使用 Eclipse CDT 标记getopt_long为“无法解析”。该代码使用g++ program.cpp编译并运行良好。这与 Eclipse 构建设置有关吗?

0 投票
1 回答
275 浏览

c - 如何从命令行将 key=val 解析为 C 程序

我从事学术工作,我用 C 编写计算代码。我想以类似的方式执行我的程序

我已经阅读了一些内容getopt()getsubopt()但似乎要使用这些功能,我必须像这样组织命令行

key=val 样式更适合我的应用程序,因为大多数参数都是数字。是否可以从命令行参数中提取 key=val 模式?有图书馆可以做到这一点吗?

非常感谢。

0 投票
1 回答
44 浏览

c - 如何使用 GNU get opt 获取输入参数的长度

我正在尝试“美化”一些创建日志文件的代码,并且在日志文件中我想打印输入文件的名称以及在格式良好的#-box 中使用了哪些设置。我需要能够获得输入参数的长度,该参数必须由 GNU getopt 存储在某个地方,因为它是内部 malloc,至少我认为他们是这样做的。

有谁知道如何获得该价值?然后我可以使用一些简单的微积分来查看我需要在评论框中的最后一个文本字母之后添加多少空格;)

0 投票
1 回答
3031 浏览

c++ - optarg 设置为空

我正在尝试在 optarg 上使用 atoi,但它也可能是任何东西。我一直在试图弄清楚为什么我的 getopt_long 不起作用。当我输入我的 switch 语句 optarg 设置为 null 并保持这种状态。我检查了我的冒号,它们是正确的。这是我的代码。

//更多东西//

我试过使用双冒号和其他所有东西。

0 投票
5 回答
5196 浏览

command-line-arguments - 如何在 Dart 中访问 argv / 命令行选项?

Dart 有 getopt 库吗?

0 投票
1 回答
648 浏览

c - C 编程 - getopt

当我使用 -f 时出现错误分段错误,有什么想法吗?-f 选项用于选择输入文件。

0 投票
2 回答
8081 浏览

c - getopt:无法识别缺少的参数':'和无效的'?'

我使用 getopt 编写了一个简单的代码来理解透视图。

问题是:

(1)案例1: 如果case '?'评论了,那么:

因此,正如您所看到的,case ':'没有生效,因为通常我们期望缺少的参数通过 getopt 返回一个 ':'(冒号)。

(2) 情况 2: 并且,如果我取消注释它,然后运行程序,它会遇到case '?缺少参数的偶数。

我在这里想念什么?

稍后添加

另外为什么会./a.out: option requires an argument -- c出现默认错误?如何处理它,因为我已经在 中照顾它case ':',并且不想要默认错误消息?

再次添加:正如答案中所建议的,我在 optstring - 的开头使用了冒号const char *optstring = ":abc:d",那么为什么会发生这种情况?

0 投票
3 回答
1854 浏览

python - Python 的 argparse 可以像 gnu getopt 那样置换参数顺序吗?

GNU getopt 和使用它的命令行工具允许交错选项和参数,称为置换选项(参见http://www.gnu.org/software/libc/manual/html_node/Using-Getopt.html#Using -Getopt)。Perl 的 Getopt::Long 模块也支持这一点(使用 qw(:config gnu_getopt))。argparse 似乎不支持(甚至不提及)置换选项。

有许多与 arg/opt 顺序相关的 SO 问题,但似乎没有人回答这个问题:Can argparse be made to permute argument order like getopt?

用例是一个原型命令行签名,如 GNU 排序:

其中 1) 选项和文件被置换,以及 2) 文件列表可能包含零个或多个参数。

例如:

我试过了:

  • p.parse_known_args -- 不会抱怨,但实际上也不会置换,并且它不会拒绝看起来像无效选项的参数(例如, --bogus 或 -b 上面)。
  • p.add_argument('files',nargs=argparse.REMAINDER) -- 选项 -z 包含在文件中,除非在位置参数之前
  • p.add_argument('files',nargs='*',action='append');

我想实现一些接近上面的 GNU 排序原型的东西。我对可以为每个文件指定的标志不感兴趣(例如,-f file1 -f file2)。