如何比较非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条回答
lcw_swust
1楼-- · 2019-12-13 18:17
 精彩回答 2  元偷偷看……
eaglelpx
2楼-- · 2019-12-13 18:34
lcw_swust 发表于 2019-3-13 12:15
自己写一个也不难吧,你这字符串不用转成数字来比较?

接收到直接比较了,不转数字
czg1411
3楼-- · 2019-12-13 22:21
eaglelpx 发表于 2019-3-13 11:54
这样也没告警。  if(strncmp((const char*)A,(const cahr*)B,4)==0) 这个写法对吗

可以,指针就是一个地址,不管怎么转地址还是一样的
eaglelpx
4楼-- · 2019-12-14 01:22
czg1411 发表于 2019-3-13 13:59
可以,指针就是一个地址,不管怎么转地址还是一样的

好的。3Q
eleqian
5楼-- · 2019-12-14 01:51
真实原因是存字符串的变量用char类型,不要用unsigned char,就不需要强制类型转换。

一周热门 更多>