在MounRiver Studio中使用sscanf无法获取浮点数的问题
float pai;
if (sscanf("3.14", "%f", &pai) == 1) {
ECHO("-> pai: %f\n", pai);
} else {
ECHO("Failed to get pai\n");
}
运行之后打印
Failed to get pai
这是由于工程中未开启“scanf_float”,无法使用sscanf解析浮点数,我们需要开启这个功能
在“C/C++ Build”下的“Settings”项中,选择“GNU RISC-V Cross C Linker”中的“Miscellaneous”,勾选其中的“Use float with nano scanf(-u scanf_float)”选项,然后应用保存。
最后重新编译程序并运行,可以看到sscanf成功获取到浮点数
-> pai: 3.140000