/模拟实现strcpy/
/*
strcpy的功能是将一个字符串的内容复制到另
一个字符串中,两者的长度(包括’\0’)必须相等,
若前者的长度小于后者,则复制失败.
/
/
库函数中的strcpy()实现方法
复制字符串函数(两字符串长度必须相等)
char* Strcpy(char* dest, const char* src){
assert(dest != NULL && src != NULL); //断言判断指针dest和指针src的指向不为空
while ((*dest++ = *src++) != '\0'); //当指针的指向的内容不为'\0'时,将src指向的内容赋给的dest
return dest;
}
个人模拟的strcpy函数
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
//复制字符串函数(两字符串长度可不相等,复制长度以dest的长度为准)
char* Strcpy(char* dest, const char* src){ //参数可以是字符数组也可以是字符指针
if (dest == NULL && src == NULL){ //指针的指向不能为空
return NULL; //返回值为空
}
while (*dest != '\0' && *src != '\0'){ //当指针dest和src的指向内容不为'\0'
*dest = *src; //将src的内容复制给dest
dest++; //指针dest向后移
src++; //指针src向后移
}
if (*src != '\0') { //若src未复制完
printf("复制所需的字符串数组的长度不够.\n");
}
return dest;
}
//主函数
int main(){
char str1[] = "hehe"; //定义字符串并初始化
char str2[] = "hahah"; //定义字符串并初始化
Strcpy(str1, str2); //调用复制字符串函数
system("pause");
return 0;
}