如何为 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]
的数字。
我正在尝试编写一个程序来计算在某些限制条件下使用数字 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]
的数字。