9. strcpy 函数

9.1. 函数定义

 1char* strcpy(char* dst, const char* src)
 2{
 3    char* cp = dst;
 4    while(*cp++ = *src++);  /* Copy src over dst */
 5    return dst;
 6}
 7
 8char src[10] = "abcd";
 9char dst[10];
10char* copy = strcpy(dst, src);

形参 src

形参 src 定义为 const ,防止函数对其进行修改。

额外指针 cp

cp++ 导致复制结束时, cp 指向的是 dst 绑定的字符串的尾部,因此不能直接返回 cp

返回值

为了实现链式操作,将目的地址返回。

int length = strlen(strcpy(str, "Hello World") );

9.2. 参考资料

  1. 标准的strcpy函数