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

函数原型如下:

char *strcpy(char *strDest, const char *strSrc) {
    char *address=strDest;
    assert((strDest!=NULL) &&  (strSrc!=NULL));
    while(*strSrc!='\0') {
        *strDest++=*strSrc++;
    }
    *strDest='\0';
    return address;
}
 
char *strcat(char *strDest, const char *strSrc) {
    char *address=strDest;
    assert((strDest!=NULL) &&  (strSrc!=NULL));
    while(*strDest!='\0') {
        strDest++;
    }
    while(*strSrc!='\0') {
        *strDest++ =* strSrc++;
    }
    *strDest='\0';
    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!='\0') {
        *strDest++=*strSrc++;
         i++;
         assert(i<=len);
        
    }
    *strDest='\0';
    return address;
}
 
char *strcat(char *strDest, int len, const char *strSrc) {
    char *address=strDest;
     int i = 0;
    assert((strDest!=NULL) &&  (strSrc!=NULL));
    while(*strDest!='\0') {
        strDest++;
        i++;
    }
    while(*strSrc!='\0') {
        *strDest++ =* strSrc++;
         i++;
         assert(i<=len);
    }
    *strDest='\0';
    return address;
}
 

 

posted @ 2017-06-28 22:57  constructora  阅读(853)  评论(0编辑  收藏  举报