项目场景:
项目需要串口与一个读卡设备进行数据交互,但是数据交互都是16进制的。
问题描述及解决办法:
我有一个字符串数组(接收用的),还有一个已知的字符串数组要进行比较。但是使用strcmp函数的结果是我接收的和发送的里面的内容尽管不一致,也会被当成一致的。后来经过分析发现,字符串长度不一致所导致的。
针对这个问题,建议使用memcmp来进行字符串比较,通过第三个参数卡住字节数,这样就会更加方便和准确的进行比较
@Override
//ttysx_buff 代表第一个字符串数组 switch_reply 第二个字符串数组 10比较的字节数
memcmp(ttysx_buff, switch_reply,10)