OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5959|回复: 2

nb-iot字符串转换成16进制的问题

[复制链接]

7

主题

54

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1021
金钱
1021
注册时间
2015-12-8
在线时间
446 小时
发表于 2017-11-7 09:24:13 | 显示全部楼层 |阅读模式
15金钱
最近在写一个nbiot方面的程序, 打个比方uart1 接受nbiot模块发送来的字符串“0,106.15.60.5,8080,11,ab be 17 00 04 00 01 07 19 aa bb,0”    106.15.61.5 是我的阿里i云p地址,8080是端口号,11是数据的个数,  “ab be 17 00 04 00 01 07 19 aa bb”是有用的数据,我想要把字符串 “ab be 17 00 04 00 01 07 19 aa bb”转化成16进制的数据0xab 0xbe 0x00.....0xaa 0xbb 放在数组里面,方便后面解析处理数据,请问一下怎么实现了?

最佳答案

查看完整内容[请看2#楼]

用strtol函数,函数原型long int strtol (const char* str, char** endptr, int base); str 为要转换的字符串,endstr 为第一个不能转换的字符的指针,base 为字符串 str 所采用的进制。 例子: [mw_shl_code=c,true]/* strtol example */ #include /* printf */ #include /* strtol */ int main () { char szNumbers[] = "2001 60c0c0 -1101110100110100100000 0x6fffff"; char * pEnd; long int li1 ...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

0

主题

88

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
361
金钱
361
注册时间
2016-11-1
在线时间
119 小时
发表于 2017-11-7 09:24:14 | 显示全部楼层
用strtol函数,函数原型long int strtol (const char* str, char** endptr, int base);
str 为要转换的字符串,endstr 为第一个不能转换的字符的指针,base 为字符串 str 所采用的进制。
例子:
[mw_shl_code=c,true]/* strtol example */
#include <stdio.h>      /* printf */
#include <stdlib.h>     /* strtol */

int main ()
{
  char szNumbers[] = "2001 60c0c0 -1101110100110100100000 0x6fffff";
  char * pEnd;
  long int li1, li2, li3, li4;
  li1 = strtol (szNumbers,&pEnd,10);
  li2 = strtol (pEnd,&pEnd,16);
  li3 = strtol (pEnd,&pEnd,2);
  li4 = strtol (pEnd,NULL,0);
  printf ("The decimal equivalents are: %ld, %ld, %ld and %ld.\n", li1, li2, li3, li4);
  return 0;
}[/mw_shl_code]
输出
The decimal equivalents are: 2001, 6340800, -3624224 and 7340031
回复

使用道具 举报

头像被屏蔽

28

主题

48

帖子

0

精华

禁止访问

积分
335
金钱
335
注册时间
2019-4-2
在线时间
19 小时
发表于 2019-4-3 11:31:30 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-25 22:56

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表