0

我从事学术工作,我用 C 编写计算代码。我想以类似的方式执行我的程序

$ ./foo.exe n=20 f=0.25 name=data.bin

我已经阅读了一些内容getopt()getsubopt()但似乎要使用这些功能,我必须像这样组织命令行

$ ./foo.exe -n 20 -f 0.25 -name data.bin

key=val 样式更适合我的应用程序,因为大多数参数都是数字。是否可以从命令行参数中提取 key=val 模式?有图书馆可以做到这一点吗?

非常感谢。

4

1 回答 1

0

如果您在“=”周围没有空格,那么这很容易:

char letter;
float value;
if (sscanf(argv[i], "%c=%f", &letter, &value) == 2)
{
    // process option
}
else
{
    // argument doesn't match x=n pattern.
}
于 2012-01-26T11:34:31.937 回答