strcpyソースコード要約

827 ワード

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 
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」)である.