使用C语言模拟使用strcpy函数
定义:strcpy 函数是 C 标准库中用于字符串复制的函数。它接受两个参数,第一个参数 dest 是目标字符串的指针,第二个参数 src 是源字符串的指针,函数的功能是将源字符串复制到目标字符串中,返回目标字符串指针。
思路:理解定义,相当于一个复制操作。通过循环,把一个字符串,放入另外一个字符串中即可。
代码如下:
#include <stdio.h> #include <assert.h> char* my_strlen(char* dest, char* src) { assert(dest && src); char* ret = dest;//记住首地址 while (*src != '\0')//当src为\0时证明已经完成了赋值 { *dest++ = *src++; } return ret;//返回首地址,相当于返回整个字符串 } int main() { char arr1[] = "abcdef"; char arr2[20] = { 0 }; printf("%s\n",my_strlen(arr2,arr1)); }
plus版本
#include <stdio.h> #include <assert.h> char* my_strlen(char* dest, char* src) { assert(dest && src); char* ret = dest;//记住首地址 while (*dest++ = *src++)//两者不等时,即复制完成,可以直接作为循环条件来控制循环。 { ; } return ret;//返回首地址,相当于返回整个字符串 } int main() { char arr1[] = "abcdef"; char arr2[20] = { 0 }; printf("%s\n",my_strlen(arr2,arr1)); }