通过MSDN对strcpy函数进行了查询
普通
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<assert.h>
#include<string.h>
char* Mystrcpy(char* dest,const char *src)//const修饰是防止在拷贝过程中被修改
{
char *p = dest;
assert(dest != NULL && src != NULL);
while (*src != '\0')
{
*dest = *src;
dest++;
src++;
}
*dest = '\0';
return p;
}
int main()
{
char str[10] = "abcds";
char* str2 = "hehe";//字符串常量
Mystrcpy(str, str2);
printf("%s\n", str);
system("pause");
return 0;
}
优化
char* Mystrcpy(char* strD, const char* strS)
{
assert(strD != NULL && strS != NULL);
int *p = strD;
while (*strD++ = *strS++)
{
;
}
return *p;
}
int main()
{
char dest[10] = { 0 };
char *str = {"BelongAl"};
Mystrcpy(dest, str);
printf("%s\n", dest);
system("pause");
return 0;
}