#include<stdio.h> #include <assert.h> void myStrcpy(char* Dest, const char *Src) { assert((Dest!= NULL)&&(Src!=NULL)); while((*Dest = *Src)!='\0') { Dest++; Src++; } } int main() { char dest[] = "helloworld";//注意 char* src = "hello"; myStrcpy(dest, src); printf("%s",dest); return 0; }
注意:在第15行中,我们用的是字符数组,因为如果用字符指针的话,字符常量存放在常量区,指针会指向这个地址,不能通过修改指针指向内容修改字符串。如果用字符数组的话,会把“helloworld“内容复制到数组中去,可以被修改。
strcpy函数原型:
char *strcpy(char *Dest , const char *Src) { assert((Dest != NULL) && (Src != NULL)); char *address = Dest; while((*Dest++ = *Src++) != '\0') NULL; return address; }
转载于:https://blog.51cto.com/8887511/1406081