strcpy在C中最常见,可是真正用时才知道会遗漏很多。
strcpy(char *str1,char *str2)将str2字符串复制到str1,同时也将str2结束符复制到str1中。所以总得来说,str1的字符长度比str2大一。
例子:
char *str2="Hello World!";
char *str1=(char *)malloc(sizeof(str2)+1);
strcpy(str1,str2);
strcpy的C语言实现:
方法1:
void strcpy(char *str1,char *str2)
{
while((*str1++=*str2++) !=' /0 ');
}
方法2:(更全面)
char* strcpy(char *str1,const char *str2)//const 在这里,str2在当前函数不改变
{
assert(str1!=NULL&&str2!=NULL);//判断str1和str2字符不为空
char *del=str1;//del的地址指向str1
while((*str1++=*str2++) !=' /0 ');
return del;//返回str1
}