自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(3)
  • 收藏
  • 关注

转载 c++ 16进制数形式的字符串转换为16进制数

项目中上位机给下位机发送的指令是16进制数,需要将从控制台输入的string类型数据(比如"AA BB 03 00 07 00 02 CC")转换为对应大小的16进制数。 //HexChar()将16进制字符转换为相应大小的16进制数 char HexChar(char c) { if((c>='0')&&(c<='9')) return c-'0'; else if((c>='A')&&(c<='F'))

2021-04-16 15:08:58 3191

原创 c++ 控制台输入带空格字符串 getline()跳过执行

项目需要从控制台输入16进制数发送给下位机。 使用getline()时碰到的小问题,记录一下。 getline()函数跳过执行,因为键盘输入时,是先输入到输入缓冲区的,回车结束后,系统只把回车前的数据给出去,而回车还在缓冲区里。下一次执行getline()的时候就会首先获取回车符。 解决: 在执行getline()之前先cin.get()把之前留下的回车读取走。 char *data = new char[32]; string strdata; cin.get(); getline(cin,strdata

2021-04-16 14:40:36 1093

原创 自定义通讯协议

第一次写文章。 最近在做一个自定义通讯协议的项目,基于socket通讯写一个上位机的驱动,输入指令向下位机发送一串特定的16进制字符串,然后接收下位机回复数据并解析。记录一下思路过程和遇到的问题。 思路: 1)为了方便操作将数据包定义成结构体,成员对应字段,类型都为unsigned char,存放16进制数 2)数据包包含帧头、帧尾、指令标识符、数据区等等,且数据区是不定长的 3)每条指令写一个驱动函数,变量设置为形参 4)按顺序给数据包结构体成员赋值 5)将结构体转换成string类型 6)发送数据并接收

2021-03-31 11:37:55 1319 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除