我在学术界工作,我用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模式?有没有图书馆可以做到这一点?
非常感谢。
答案 0 :(得分:0)
如果你的'='周围没有空格,那就很容易了:
char letter;
float value;
if (sscanf(argv[i], "%c=%f", &letter, &value) == 2)
{
// process option
}
else
{
// argument doesn't match x=n pattern.
}