MounRiver Studio中无法使用“sscanf”获取浮点数

部署运行你感兴趣的模型镜像

在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)”选项,然后应用保存。
勾选“Use float with nano scanf(-u scanf_float)”选项
最后重新编译程序并运行,可以看到sscanf成功获取到浮点数

-> pai: 3.140000

您可能感兴趣的与本文相关的镜像

GPT-oss:20b

GPT-oss:20b

图文对话
Gpt-oss

GPT OSS 是OpenAI 推出的重量级开放模型,面向强推理、智能体任务以及多样化开发场景

void Iot_Control(char *data) { char c[] = {",{}"}; // 分割字符 char data_copy[256]; // 假设最大字符串长度为 256 char *p; float value; if (strlen(data) >= sizeof(data_copy)) { printf("错误: 输入数据过长。\r\n"); return; } strcpy(data_copy, data); // 复制原始字符串以避免修改 p = strtok(data_copy, c); while (p != NULL) { if (strstr(p, "\"data1\":")) { if (sscanf(p + 8, "%f", &value) == 1) { // 使用 sscanf 解析浮点数[^1] HC595_SwitchControl(value); printf("* data1 数据: %f\r\n", value); } else { printf("警告: 无法解析 data1 的值。\r\n"); } } if (strstr(p, "\"Switch_1\":")) { if (sscanf(p + 11, "%f", &value) == 1) { // 使用 sscanf 解析浮点数[^1] printf("* Switch_1 数据: %f\r\n", value); } else { printf("警告: 无法解析 Switch_1 的值。\r\n"); } } if (strstr(p, "\"Switch_2\":")) { if (sscanf(p + 11, "%f", &value) == 1) { // 使用 sscanf 解析浮点数[^1] printf("* Switch_2 数据: %f\r\n", value); } else { printf("警告: 无法解析 Switch_2 的值。\r\n"); } } if (strstr(p, "\"XYZ_array3\":[") != NULL) { printf("* XYZ_array3 数据: %s\r\n", strstr(p, "\"XYZ_array3\":[")); if (sscanf(p + 14, "%f", &value) == 1) { // 使用 sscanf 解析浮点数[^1] printf("* XYZ_array3 数据: %f\r\n", value); } else { printf("警告: 无法解析 XYZ_array3 的值。\r\n"); } } if (strstr(p, "\"text\":")) { if (sscanf(p + 11, "%s", &value) == 1) { // 使用 sscanf 解析浮点数[^1] printf("* text 数据: %s\r\n", value); } else { printf("警告: 无法解析 text 的值。\r\n"); } } p = strtok(NULL, c); } }完善这个代码,使他能够提取{"method":"thing.service.property.set","id":"1287943690","params":{"array2":[123,456],"text":"asdasdfasdfasdkfjlsdkfjlasdf"},"version":"1.0.0" 中的text值
06-19
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值