如何使用sscanf提取浮点数?

时间:2017-07-08 09:59:09

标签: c++

我有一个字符串: 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 有人可以帮忙吗?感谢。

1 个答案:

答案 0 :(得分:0)

%f匹配printf()及其系列中的double,scanf()中的float及其族。通常你想要以双精度工作,所以你需要%lf用于scanf()。

然而,strtod()更稳定,更耐错。