使用指针时,如
str=strstr((const char*)serial,(const char*)localmacaddr);if(!(*str)) return 0;//与本地不符 不符应该响应提示消息到服务器
这种写法是错误的 ,因为如果上述
serial和localmacaddr无关系,返回的是null,这个时候*str就会出错,这种出错后,在keil种,后续在该函数里给指针分配的地址都是0x0000000. 程序应该改为:
str=strstr((const char*)serial,(const char*)localmacaddr); if(!str) return 0;//与本地不符 不符应该响应提示消息到服务器
本文详细解释了在使用指针进行字符串匹配时常见的错误,并给出了正确的实现方式。文章指出当使用strstr函数查找子串失败返回NULL时,直接解引用会导致程序异常,提供了修正后的代码示例。
11万+

被折叠的 条评论
为什么被折叠?



