美文网首页
分割字符串

分割字符串

作者: 鱼欲遇雨 | 来源:发表于2017-07-25 16:08 被阅读0次

分割字符串是处理字符串的操作中经常遇到的基本操作。

但是C语言中没有提供很好用的分割字符串的操作,常常需要自己写分割字符串的操作

在项目中,碰到了分割字符串的函数,遂记录一下

  • 传入参数:源字符串,开始位置(包含开始字符),结束位置(不包含结束字符)
  • 验证传入参数:开始位置<结束位置;开始位置<字符串长度;结束位置<字符串长度
  • 分配内存:结束位置-开始位置+1
  • 内存移动:memcpy
  • 最后一位赋值为'\0'
  • 返回分配内存
/* Split string out of src with range [left:right-1] */
static char *split_string(const char *src,
        const size_t left, const size_t right) {
    char *dest;
    assert(left <= right);
    assert(left < strlen(src));   /* [left means must be smaller */
    assert(right <= strlen(src)); /* right) means can be equal or smaller */

    dest = xmalloc(right - left + 1);
    memcpy(dest, src+left, right-left);
    dest[right-left] = '\0';
    return dest;
}

相关文章

网友评论

      本文标题:分割字符串

      本文链接:https://www.haomeiwen.com/subject/hbowkxtx.html