C语言-L Buffer is too small && 0 解决方法

时间:2022-10-21 20:21:49

问题如下:

C语言-L Buffer is too small && 0 解决方法

问题出在程序语句(见下):

C语言-L Buffer is too small && 0 解决方法

其中,字符串p1和p2分别指向某个字符串,p是定义的一个字符数组。问题出现在对strlen()的使用,这个函数计算的字符串长度是不包括'\0’的,所以在设置第二个参数(缓冲区长度)时,就会出现异常,因为在拷贝时需要将字符串的结束标志也要一同拷贝过去,所以,上面提示Buffer is too small就表明第二个参数设置的值小于源字符串。所以解决方法就是:将strlen(p1)修改为strlen(p1)+1,如下图,修改后调试通过。

C语言-L Buffer is too small && 0 解决方法