我需要访问 [pid[value]]
,但我什至不确定这个符号是什么意思。
我知道如何使用 **args
获取给我的程序的参数。如果我有 [pid][value]
,我能做到args[1]
对于 pid
和 args[2]
对于 value
, 但如果我有 [pid[value]]
, 我不知道。如何访问这两个参数?
最佳答案
可选参数只有在您有合理的默认值时才有意义。假设您这样做,请确定最常需要的那个,并将其设为第一个。
char *pid ;
char *value ;
if (argc < 1) {
value = VALUE_DEFAULT ;
pid = PID_DEFAULT ;
}
else if (argc < 2) {
value = VALUE_DEFAULT ;
pid = argv[1] ;
}
else if (argc < 3) {
value = argv[1] ;
pid = argv[2] ;
}
只有当你有一组非常有限的参数(你这样做)或者你经常使用它时,才真正使用位置可选参数,输入标志或参数名称是不值得的。
精通命令行解析是个好主意。这是一件事, future 不会有太大变化。
关于c - 在 C 中访问可选参数,两个参数合二为一,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19939195/