专栏首页嵌入式学习strtok在keil中使用小笔记及字符串转换为多个浮点数的方法

strtok在keil中使用小笔记及字符串转换为多个浮点数的方法

在pc上面使用这个字符串函数,是没有问题的,但是我在keil中结合rtos来处理字符串的时候,比如char *s = "1.01313;17.2609;17.4875";那么就只能解析到1.01313,后面的数据是错误的,也不知道是啥原因,后来干脆使用了比较简单的方式:

1.01313直接使用atof(s)来提取,因为atof函数遇到;会自动结束转换,得到浮点数1.01313

第二个可以使用strchr函数,strchr返回一个指针,该指针指向C字符串str中第一次出现的字符。 终止的空字符被视为C字符串的一部分。因此,也可以定位它以便检索指向字符串末尾的指针。

使用strchr(s,';'),得到第一个;所在的位置,保存到指针中,然后指针++,就指向了17开始的地方,然后再用atof计算即可,函数遇到“;”会自动结束转换得到17.2609

第三个可以使用strrchr函数,strrchr返回一个指针,该指针指向C字符串str中最后一次出现的字符。 终止的空字符被视为C字符串的一部分。因此,还可以定位它以检索指向字符串末尾的指针。

使用strrchr(s,';'),得到第二个;所在的位置,保存到指针中,然后指针++,就指向了17开始的地方,然后再用atof计算即可,函数遇到“;”会自动结束转换得到17.4875

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 浮点数转成字符串函数gcvt()

    2.ecvt()的转换结果中不包括十进制小数点 3.fcvt()的转换结果中不包括十进制小数点

    用户4645519
  • 51单片机汇编程序实例二

    ORG 0000H MOV 20H, #9 MOV DPTR, #BCDTAB MOV A, 20H MOVC A, @A+DPTR MOV 21H...

    用户4645519
  • 在cubemx中使用freertos中的注意事项

    而且在中断中发送信号量或队列的时候,务必把使能中断的语句放在初始化freertos之后,尤其是cubemx生成的代码,默认是把中断初始化放在freertos初始...

    用户4645519
  • 数组与指针

    一、数组        数组是由类型名、标识符和维数组成的复合数据类型,类型名规定了存放在数组中的元素类型,维数则指定数组中包含的元素个数。        数组...

    猿人谷
  • MyBatis 构造动态 SQL 语句

      以前看过一个本书叫《深入浅出 MFC》,台湾 C++ 大师写的一本书。在该书中写到这样一句话,“勿在浮沙筑高台”,这句话写的的确对啊。编程很多语言虽然相通,...

    码农UP2U
  • 编程老司机带你玩转C语言指针

    很多初学编程的小伙伴都会选择C语言作为第一门学习的编程语言,应为C语言作为一门底层语言相对于其他的高层语言来说更加容易学习。可以来帮助正在学习编程的小伙伴更加快...

    企鹅号小编
  • c++三种野指针 野指针的概率即产生原因

    原文链接:https://blog.csdn.net/a2796749/article/details/4689721...

    acoolgiser
  • LeetCode-28 实现strStr()

    今天我们学习第28题实现strStr(),这个题目是一个典型的字符串匹配题目。我们先看看这道题的题目描述。

    用户3470542
  • 指针和引用的区别

    先看代码输出是什么? ? 最后输出是: 1234567890 hello 指针和引用主要区别 1 在C++中,指针和引用经常用于函数的参数...

    程序员小王
  • 7.6 指针数组和多重指针

    C语言入门到精通

扫码关注云+社区

领取腾讯云代金券