我想在命令行中获取两个值,如下所示:./ part4 -f 50.0 我需要得到角色以及浮点数。 角色只能是'f'或'c'。 所以我写这个:
if ( sscanf(argv[1], "-%[cf]",&flag) !=1 )
{
printf("invalid input flag!\n");
}
else printf("flag=%c\n",flag);
if ( sscanf(argv[2], "%f", &temp) !=1 )
{
printf("invalid input temperature!\n");
}
else printf("temp=%f\n",temp);
我进行了一些测试:
./part4 -f 50.0
flag=f
invalid input temperature!
./part4 -d 50.0
invalid input flag!
temp=50.000000
我认为我的第一个sscanf()有问题,但我无法理解。