c语言几个字符串处理函数的简单实现

直接贴代码:

char* strcpy(char *a,char*b){//把字符串b全部拷贝到a中
    assert(a != nullptr&&b != nullptr);
    char *p = a;
    while ((*p++ = *b++) != '0');
    return p;
}
char *strncpy(char *a,char *b,int n) {//把字符串b的前n位拷贝到a中
    assert(a != nullptr&&b != nullptr);
    char *p = a;
    while (n--) {
        if ((*p++ = *b++) == '\0')break;
    }
    return p;
}
char *strcat(char *a,char *b) {//把b拼接于a后
    assert(a != nullptr&&b != nullptr);
    char *p = a;
    while (*p != '\0')p++;
    while ((*p++ = *b++) != '\0');
    return p;
}
int strcmp(char*a,char *b) {//比较字符串
    assert(a != nullptr&&b != nullptr);
    while (*a&&*b&&*a==*b) {
        a++, b++;
    }
    if (*a > *b)return 1;
    else if (*a < *b)return -1;
    else return 0;
}
int strlen(char *a) {
    assert(a != nullptr);
    int len = 0;
    while (*a != '\0') {
        a++,len++;
    }
    return len;
}

猜你喜欢

转载自www.cnblogs.com/ZefengYao/p/9551152.html