gpt4 book ai didi

c++ - 如何从 char[] 字符串中提取数据

转载 作者:太空狗 更新时间:2023-10-29 21:48:01 60 4
gpt4 key购买 nike

目前我有一个 GPS 连接到我的 Arduino 芯片,它每秒输出几行。我想从某些行中提取特定信息。

$ÇÐÇÇÁ,175341.458,3355.7870,Ó,01852.4251,Å,1,03,5.5,-32.8,Í,32.8,Í,,0000*57

(记下字符)

如果我将此行读入 char[],是否可以从中提取 3355.787001852.4251? (很明显是这样,但是怎么做呢?)

我是否需要计算逗号数,然后在逗号 2 之后开始将数字放在一起并停在逗号 3 处,然后对第二个数字做同样的事情,还是有其他方法?拆分数组的方法?

另一个问题是识别这一行,因为它开头有奇怪的字符 - 我该如何检查它们,因为它们不正常并且表现得很奇怪?

我想要的数据总是以 xxxx.xxxxyyyyy.yyyy 的形式出现,并且在这种形式下是唯一的,这意味着我可以搜索所有不关心的数据关于它在哪一行并提取该数据。几乎就像一个预匹配,但我不知道如何使用 char[] 来做到这一点。

有什么建议或想法吗?

最佳答案

您可以使用 strtok 标记(拆分)逗号上的字符串,然后使用 sscanf 解析数字.

编辑:C 示例:

void main() {
char * input = "$ÇÐÇÇÁ,175341.458,3355.7870,Ó,01852.4251,Å,1,03,5.5,-32.8,Í,32.8,Í,,0000*57";

char * garbage = strtok(input, ",");
char * firstNumber = strtok(NULL, ",");
char * secondNumber = strtok(NULL, ",");
double firstDouble;
sscanf(firstNumber, "%lf", &firstDouble);
printf("%f\n", firstDouble);
}

关于c++ - 如何从 char[] 字符串中提取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11846288/

60 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com