C语言字符串常用函数

C语言字符串常用函数解析

C语言不像C++ 有强大的字符串类,需要自己对字符串常用函数进行封装,本人根据自己的项目积累,把一些常用字符串处理函数分享给大家。

1. 字符串相加strAdd

char* strAdd(const char* str1, const char* str2) {

    char* result = malloc(strlen(str1) + strlen(str2) + 1);

    sprintf(result, "%s%s", str1, str2);

    return result;

}

2. 去掉两端空格

char* trim(char* str) {

    size_t len = strlen(str);

    size_t start = 0;

    size_t end = len - 1;

    // 去除开头的空格

    while (isspace(str[start]) && start < len) {

        start++;

    }

    // 去除尾部的空格

    while (isspace(str[end]) && end > 0) {

        end--;

    }

    // 如果start > end,则字符串全为空格

    if (start > end) {

        str[0] = '\0'; // 将字符串清空

    } else {

        str[end + 1] = '\0'; // 设置字符串结尾

        // 如果start不为0,需要移动字符串

        if (start != 0) {

            memmove(str, str + start, end - start + 2);

        }

    }

    return str;

}

3. 字符串分隔

以同时用多个字符分隔,delimiter 为字符串时候,是对delimiter每个字符都作为分隔符,比如"abc",分隔符分别为a 或 b 或 c

int splitStringByChars(const char* inputStr, const char * delimiter, char* outputStrs[]) {

    int len = strlen(inputStr);

    char *tempStr = (char *)malloc(len+1);

    memcpy(tempStr,inputStr,len+1);

    char* token = strtok(tempStr, delimiter);

    int count = 0;

    while (token != NULL) {

        outputStrs[count] = token;

        token = strtok(NULL, delimiter);

        count++;

    }

    return count;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值