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);
c语言char的用法chararr++;
if (*chararr)
ptr = util_cat(ptr, strend, delim);
}
return ptr - out_string;
}
它没有内置的主要原因是因为C标准库⾮常⼩;他们希望能够轻松地创建C的新实现,因此您不到尽可能多的实⽤程序功能.还有⼀个问题是C 没有给出很多指导,例如,如何确定数组中有多少元素(我在上⾯的例⼦中使⽤了NULL-array-element终结符约定).
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论