STM32数据按字符截取与转换

admin2024-08-20  6

目录

      • 1. 截取
      • 2. 转换

1. 截取

以SW,33,55,78,\r\n为例

char* pa,pb,pc,pd,pe;
uint8_t usart5_rxsavebuf[] = "SW,12,32,33,55,78,\r\n";

strtok((char *)usart5_rxsavebuf, ",");
pa = strtok(NULL, ",");
pb = strtok(NULL, ",");
pc = strtok(NULL, ",");
pd = strtok(NULL, ",");
pe = strtok(NULL, ",");

得到结果:
pa = “SW”;
pb = “33”;
pc = “55”;
pd = “78”;
pe = “\r\n”;

2. 转换

将得到的 char 类型数据转换为double类型或者int类型,所用函数atoi和strtod。

int	atoi (const char *__nptr);
double	strtod (const char *__restrict __n, char **__restrict __end_PTR);
double get_data;

char* end;
get_data = strtod(pb, &end);

得到 get_data = 33;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明原文出处。如若内容造成侵权/违法违规/事实不符,请联系SD编程学习网:675289112@qq.com进行投诉反馈,一经查实,立即删除!