本帖最后由 ma_xiang 于 2019-4-2 14:38 编辑
请问:关于字符数组,最后补零会不会造成溢出的问题。
我定义一个字符数组char a[10] = {'12345'}; char b[5] = {0x0a,0x0b,0x0c,0x0d,0x0e};
strcat(a,b);
这样之后strcat会在a数组后面补 ,请问这样是不是a的内存就溢出了,是不是需要我定义a[11]?
其次MQTT的TOPIC规定其只能是非' '的元素才能正常处理,不然就断开连接,不知道我这样把a[11]作为TOPIC填到Publish()函数体里面,会不会造成异常啊?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
你这个就不是字符串,为什么要用串复制函数呢?
如果你一定要用串复制函数,那么将 b 以0x0结尾,否则就呵呵呵呵
最后面要有一个0,改成这样: char b[6] = {0x0a,0x0b,0x0c,0x0d,0x0e, 0};
楼上的都已经说到了,str这一类的函数都是找字符串的结束符的。数组就不要用strcat来复制了,用的话就加个结束符。
一周热门 更多>