C语言strcat,ctrcpy函数原型和改进

函数原型如下:

char *strcpy(char *strDest, const char *strSrc) {
    char *address=strDest;
    assert((strDest!=NULL) &&  (strSrc!=NULL));
    while(*strSrc!='') {
        *strDest++=*strSrc++;
    }
    *strDest='';
    return address;
}
 
char *strcat(char *strDest, const char *strSrc) {
    char *address=strDest;
    assert((strDest!=NULL) &&  (strSrc!=NULL));
    while(*strDest!='') {
        strDest++;
    }
    while(*strSrc!='') {
        *strDest++ =* strSrc++;
    }
    *strDest='';
    return address;
}

//增强版的字符串复制和字符串拼接函数
char *strcpy_s(char *strDest, int len, const char *strSrc) {
    char *address=strDest;
    int i = 0;
    assert((strDest!=NULL) &&  (strSrc!=NULL) && (size));
    while(*strSrc!='') {
        *strDest++=*strSrc++;
         i++;
         assert(i<=len);
        
    }
    *strDest='';
    return address;
}
 
char *strcat(char *strDest, int len, const char *strSrc) {
    char *address=strDest;
     int i = 0;
    assert((strDest!=NULL) &&  (strSrc!=NULL));
    while(*strDest!='') {
        strDest++;
        i++;
    }
    while(*strSrc!='') {
        *strDest++ =* strSrc++;
         i++;
         assert(i<=len);
    }
    *strDest='';
    return address;
}
 
原文地址:https://www.cnblogs.com/construtora/p/7092052.html