gpt4 book ai didi

c - 需要优化如下split()函数代码

转载 作者:行者123 更新时间:2023-11-30 21:21:36 27 4
gpt4 key购买 nike

问题陈述:

想要一个优化的分割函数,它将搜索字符串中的给定字符,并将字符串分割成字符之前和之后的 2 个子字符串

示例:

s1 = strdup("XYZ@30");
s2 = split(s1,"@");
Should get following output.
s1 = "XYZ"
s2 = "30"

我已经写了下面的 split(),但是有人可以帮我优化它吗?

char * split(char *str1, char *ch)
{
int i=0;
char *str2;
if(!(str1 && ch))
return NULL;
else
{
str2 = strdup(str1);
while('\0'==str2)
{
if(*str2==*ch)
{
i++;
str1[i]='\0';
return (++str2);//If the ch is last in str1, str2 can be NULL
}
str2++;
}
}
return NULL;
}

最佳答案

不要使用strdup;只需让 str2 指向分割字符之后的字符即可。

关于c - 需要优化如下split()函数代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23761747/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com