gpt4 book ai didi

c - optarg 的多个值

转载 作者:行者123 更新时间:2023-11-30 15:46:12 25 4
gpt4 key购买 nike

我希望能够为 -a arg 获取 2 个值,例如:-a min max

我有以下代码:

while((opt = getopt(argc,argv,"a:c:k:rv")) != -1)
{
switch (opt)
{
case 'a':
min = atoi(optarg);
fprintf( stderr,"value1: %s\n", optarg);
optind--;
for( ;optind < argc && *argv[optind] != '-'; optind++)
{
optind++;
fprintf( stderr,"value2: %s\n", optarg);
max = atoi(optarg);
}
break;
//other cases
}
}

如何获取单个参数的多个值?

最佳答案

接受选项的两个参数的最简单方法是将它们与非空白字符连接起来,例如 ':':

myprogram -a min:max other-options

这样 getopt 将其视为单个参数。当你处理它时,你需要自己将它分成两部分。如果两半都是数字,那么这应该有效:

if (sscanf(optarg, "%d:%d", &min, &max) != 2)
/* report an error */

关于c - optarg 的多个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18514802/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com