一、strcpy的实现原理
二、strcpy的模拟实现
一、strcpy的实现原理
strcpy的用法如下:
通过F11监视可得到strcpy的实现过程如下:
程序输出的是:
strcpy原理:将第二个参数的字符串 逐一拷贝 到第一个参数的对应位置,包括'\0'。
ps:
- arr1的空间必须是可变的
- arr1的空间足够大,以确保能放arr2
- arr2必须以'\0'结束
- 会将arr2的'\0'拷贝到目标空间。
二、模拟实现strcpy
代码如下:
#include<stdiol.h>
#include<assert.h>
char*my_strcpy(char* str1,const char* str2){
assert(dest&&src);
char*ret =dest;
while(*str1++==*str2++){};
return ret;
}
int main(){
char arr1[]="abcdefghi";
char arr2[]="nygj";
my_strcpy(arr1,arr2);
printf("%s\n",arr1);
return 0;
}
此时my_strlen的str1和str2的变化如下图:
标签:实现,str2,char,strcpy,arr2,arr1,库函数 From: https://www.cnblogs.com/zzao/p/17136022.html