面试题:strcpy和strncy的缺陷

思维导图

面试题:strcpy和strncy的缺陷

1.存在潜在越界问题

当dest的长度 < src的长度的时候,由于无法根据指针判定其所指指针的长度,故数组内存边界不可知的。因此会导致内存越界,尤其是当数组是分配在栈空间的,其越界会进入你的程序代码区,将使你的程序出现非常隐晦的异常。

2.字符串结束标志服’\0’丢失

当dest所指对象的数组长度==count的时候,调用strncpy使得dest字符结束符’\0’丢失。

3.效率较低

当count > src所指对象的长度的时候,会继续填充’\0’知道count的长度为止。

4.不能处理内存覆盖问题

不能处理dest和src内存重叠的情况。