strcpy与strncpy
今天现场打电话来说一个字符串根据用户要求需要比较长,长到一定程度就死机了。
当然很快找到原因了,就是使用了strcpy函数,源字符串的长度大于目标字符数组的长度。
主要想说的是这个问题在团队内引起的讨论。
如果使用strcpy的话,目标字符串的长度要动态适应,尽量避免用字符数组固定死长度
如果使用strncpy的话要注意最后加上结束符’\0’;
例如:
char *src=”1234567890”;
char dest[5];
strncpy(dest,10,src);
结果就会得到一个没有结束符的dest字符串。
最好加上dest[5]=’\0’

浙公网安备 33010602011771号