C语言模拟实现库函数之strcpy()
strcpy是一种C语言的标准库函数,用来字符串的拷贝,strcpy把从源src地址开始且含有’\0’结束符的字符串复制到以目的dest开始的地址空间,并以’\0’结束,返回值的类型为char*。
拷贝时,不会改变源空间里的内容,所以用const修饰,比较严谨。
代码:
#include <stdio.h>
#include <assert.h>
char* my_strcpy(char* dest, const char* src)
{
assert(dest && src);//确保指针有效性
//保存目的空间的首地址,以便返回使用
char* ret = dest;
while (*dest++ = *src++)
{
;//将源空间内容全部拷贝到目的空间中
//'\0'也拷贝过去
}
return ret; //返回目的空间地址
}
int main()
{
char arr1[20] = "****************";
char arr2[] = "hello world";
my_strcpy(arr1, arr2);
printf("%s\n", arr1);
return 0;
}
结果演示:
由上图可见,arr2中元素已全部拷贝到arr1中。