C和指针之字符串编程练习3

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
(0)

相关推荐