如何使用 sscanf 提取浮点数?

How to use sscanf to extract float numbers?

本文关键字:浮点数 提取 sscanf 何使用      更新时间:2023-10-16

我有一个字符串,如下所示:string line="Name &0.11/-0.11 &0.11/0.11 &0.03/0.03 \";

我想提取名称和所有浮点数,我试过:

sscanf(line,"%s %*[&]%f%*[/]%f %*[&]%f%*[/]%f %*[&]%f%*[/]%f %*[\]",systname,&sig_up,&sig_down,&prompt_up,&prompt_down,&Vgam_up,&Vgam_down);

但它没有用,并得到错误:Error: sscanf parameter mismatch param[0] C u有人可以帮忙吗?谢谢。

%f 匹配 printf(( 及其族中的双精度值,扫描(( 及其族中的浮点数。通常你想以双精度工作,所以你需要 %lf 来表示 scanf((。

然而,strtod(( 更稳定且防错。