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

问题如下:

1

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

3

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

4

posted @ 2013-11-11 17:29  KillerLegend  Views(13566)  Comments(0Edit  收藏  举报