欢迎访问我的独立博客

【函数】strcpy源代码

1,微软实现

C:\Program Files\Microsoft Visual Studio 10.0\VC\crt\src\strcat.c

char * strcpy(char * dst, const char * src)
{
        char * cp = dst;

        while( *cp++ = *src++ )
                ;               /* Copy src over dst */

        return( dst );
}

2,林锐《高质量C++/C编程指南》

#include <assert.h>
char *strcpy(char *strDest, const char *strSrc)
{ 

    assert((strDest!=NULL) && (strSrc !=NULL)); // 2分 

    char *address = strDest;                   // 2分 

    while( (*strDest++ = * strSrc++) != ‘/0’ )   // 2分 

       ; 

    return address ;                          // 2分 

}

附:

strcpy能把strSrc的内容复制到strDest,为什么还要char * 类型的返回值?

答:为了实现链式表达式。 // 2分
例如 int length = strlen( strcpy( strDest, “hello world”) );

posted @ 2012-11-05 21:29  github.com/starRTC  阅读(1839)  评论(0编辑  收藏  举报