如何为 C/C++ 传递可选的命令行参数?

How do you pass an optional command line argument for C/C++?

我正在尝试编写一个程序来计算在某些限制条件下使用数字 0 - 9 的不同可能密码的数量。它有一个必需的命令行参数,这将是密码中的位数,同时还有一个 可选的 参数,这将是禁止的数字。没有输入参数将意味着允许所有数字。

例如,我的程序是否应该称为组合:

$ combinations 8 3    #find number of passwords of length 8 with '3' not allowed

我尝试查找并发现您可以使用

使参数成为函数的可选参数
int myfunction( int optional = 3);

例如。但是,如果没有输入任何内容,这似乎会将值设置为默认值。如果它留空,我需要它允许所有数字。我将如何为命令行参数执行此操作?

命令行参数作为 main 函数的参数从命令行传递到程序中。其中签名需要int main(int argc, char** argv).

second 参数是一个以空字符结尾的字符串数组,其中包含程序调用中传递的每个参数(包括程序名称)。首先是数组中有多少个字符串。

您需要检查 argc > 2,然后解析 argv[2] 的数字。