【9-3】编写一个名为my_strcpy的函数,它类似与strcpy函数,但它不会溢出目标数组。复制的结果必须是一个真正的字符串。
目标字符数组,是空的,要想保证其不溢出,有什么可以作为判断条件呢? 只有传入一个长度,也就是strncpy的实现。
char * my_strcpy(char *dst, const char *src, int size) {
strncpy(dst, src, size);
*(dst + size - 1) = NUL;
return dst;
}
int main()
{
char string[] = "192.168.0.199";
char dst[20];
printf("dst:%s\n", my_strcpy(dst, string, 5));
return 0;
}