我正在尝试编写一个程序,在某些约束下使用数字0 - 9计算不同可能密码的数量。这是一个必需的命令行参数,它将是密码中的位数,同时还有一个可选参数,它将是禁止的数字。输入的参数不会表示允许所有数字。
例如,我的程序应该被称为组合:
$ combinations 8 3 #find number of passwords of length 8 with '3' not allowed
我尝试查找它,发现你可以使用
为一个函数创建一个可选的参数int myfunction( int optional = 3);
例如,。但是,如果没有任何输入,那么似乎将值设置为默认值。如果它留空,我需要它允许所有数字。我如何为命令行参数执行此操作?
答案 0 :(得分:3)
命令行参数从命令行传递到程序中作为main
函数的参数。其签名必须为int main(int argc, char** argv)
。
第二个参数是一个空终止字符串数组,它保存在程序调用中传递的每个参数(包括程序名称)。第一个是数组中有多少个字符串。
您需要检查argc > 2
,然后为该数字解析argv[2]
。