join在c语言中的用法,C中的join()或implode()

当然,有一些方法 – 没有任何内置的东西.许多C实用程序库都具有此功能 – 例如,glib的

g_strjoinv.您也可以自己滚动,例如:

static char *util_cat(char *dest, char *end, const char *str)

{

while (dest < end && *str)

*dest++ = *str++;

return dest;

}

size_t join_str(char *out_string, size_t out_bufsz, const char *delim, char **chararr)

{

char *ptr = out_string;

char *strend = out_string + out_bufsz;

while (ptr < strend && *chararr)

{

ptr = util_cat(ptr, strend, *chararr);

chararr++;

if (*chararr)

ptr = util_cat(ptr, strend, delim);

}

return ptr - out_string;

}

它没有内置的主要原因是因为C标准库非常小;他们希望能够轻松地创建C的新实现,因此您找不到尽可能多的实用程序功能.还有一个问题是C没有给出很多指导,例如,如何确定数组中有多少元素(我在上面的例子中使用了NULL-array-element终结符约定).

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值