如何比较非cont字符串大小

2019-12-12 18:20发布

比如 unsigne  char  A[5]="1230",B[200]="0"    B是串口过来的数据,长度不定
在keil for 51  if(strncmp(A,B,4)==0) 不会警告
STM32F030 使用keil  for arm    if(strncmp(A,B,4)==0)  会警告 argument of type "unsigned char *" is incompatible with parameter of type "const char *"  有没办法消除合格警告,或者其他函数比较
                     
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
jiaowoxiaolu
1楼-- · 2019-12-12 23:36
消除警告好办啊,强制类型转换下就行了
dwj0
2楼-- · 2019-12-13 03:53
 精彩回答 2  元偷偷看……
czg1411
3楼-- · 2019-12-13 09:37
if(strncmp((void*)A,(void*)B,4)==0)  
eaglelpx
4楼-- · 2019-12-13 11:42
jiaowoxiaolu 发表于 2019-3-13 11:42
消除警告好办啊,强制类型转换下就行了

if(strncmp((const char*)A,(const char *)B,4)==0) 这样是没告警了
eaglelpx
5楼-- · 2019-12-13 15:15
czg1411 发表于 2019-3-13 11:46
if(strncmp((void*)A,(void*)B,4)==0)

这样也没告警。  if(strncmp((const char*)A,(const cahr*)B,4)==0) 这个写法对吗
eaglelpx
6楼-- · 2019-12-13 18:12
dwj0 发表于 2019-3-13 11:43
用memcmp函数

memcmp(const void *str1, const void *str2, size_t n))   这个也是const

一周热门 更多>