C++ 實現strcpy


strcpy庫函數的原型:

// 把src字符串拷貝到dest,並返回dest
char *strcpy(char *dest, const char *src)

注意點:

1、形參src用const修飾,防止函數內部修改源字符串。 

2、返回char*用於鏈式表達式,例如strlen(strcpy)。

3、不使用其他庫函數,例如strlen。

4、形參判空,代碼健壯性。

5、使用assert,盡可能在開發階段發現問題。

6、如果dest == src,直接返回,省掉遍歷賦值的代價。

7、結束符'\0'不能漏掉。

char *myStrcpy(char *dest, const char *src) {
    assert(dest != NULL && src != NULL);
    if (dest == NULL || src == NULL) { 
        return NULL;
    }
    if (dest == src) {
        return dest;
    }
    int i = 0;
    while (src[i] != '\0') {
        dest[i] = src[i];
        i++;
    }
    dest[i] = '\0';
    return dest;
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM