1、问题
编写函数类似strcat函数,但是不会溢出目标数组,结果必须是一个正真的字符串
2、实现代码
#include <stdio.h>
#include <string.h>//编写函数类似strcpy函数,但是不会溢出目标数组,结果必须是一个正真的字符串
char *my_strcpy(char *des, char *src, int size)
{strncpy(des, src, size);*(des + size -1) = '\0';return des;
}int main()
{char des[10];int size = sizeof(des);printf("size is %d\n", size);char *src = "daddschenyuchenyu";printf("my_strcpy result is %s\n", my_strcpy(des, src, size));return 0;
}
3、运行结果
vim my_strcpy.c
gcc -g my_strcpy.c -o my_strcpy
./my_strcpy
size is 10
my_strcpy result is daddschen