[转载] 已知strcpy的函数原型:char *strcpy(char *strDest, const char *strSrc),编写函数 strcpy(C++版)

已知strcpy的函数原型:char *strcpy(char *strDest, const char *strSrc)其中strDest 是目的字符串,strSrc 是源字符串。不调用C++/C 的字符串库函数,请编写函数 strcpy。

/*
编写strcpy函数(10分)
已知strcpy函数的原型是
    char *strcpy(char *strDest, const char *strSrc);
    其中strDest是目的字符串,strSrc是源字符串。
(1)不调用C++/C的字符串库函数,请编写函数 strcpy
(2)strcpy能把strSrc的内容复制到strDest,为什么还要char * 类型的返回值?
答:为了 实现链式表达式。                            // 2分
例如    int length = strlen( strcpy( strDest, “hello world”) );
*/

#include <assert.h>
#include <iostream>

using namespace std;

char*strcpy(char*strDest, constchar*strSrc)
{
    assert((strDest!=NULL) && (strSrc !=NULL));     
    char* address = strDest;

while((*strDest++=*strSrc++)!='\0');"
     
    return address ;                                   
}

Note:(*strDest++=*strSrc++) 的返回值为子表达式的左值,即strDest

上一篇:GitHub 热点速览 Vol.26:手把手带你做数据库


下一篇:js使用面向对象编写下拉菜单