我有一个字符串:
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
有人可以帮忙吗?感谢。
答案 0 :(得分:0)
%f匹配printf()及其系列中的double,scanf()中的float及其族。通常你想要以双精度工作,所以你需要%lf用于scanf()。
然而,strtod()更稳定,更耐错。