gpt4 book ai didi

c - 如何在C中检索字符串的多个子字符串并将它们写入一个字符串?

转载 作者:行者123 更新时间:2023-11-30 17:45:52 25 4
gpt4 key购买 nike

如何以最快的方式拆分 const char * 字符串。

char *inputStr="abcde";
char buff[500];

我想在缓冲区中有以下格式化字符串,其格式必须是:

IN('a','ab','abc','abcd','abcde')

我正在学习 C,并且是该语言的新手。我不知道从哪里开始解决这个 split 问题。

最佳答案

我认为你不能特别“快”地做到这一点,它似乎受到很大的限制,因为它需要多次迭代源字符串。

我会做这样的事情:

void permute(char *out, const char *in)
{
const size_t in_len = strlen(in);
char *put;

strcpy(out, "IN(");
put = out + 3;
for(i = 1; i < in_len; ++i)
{
if(i > 1)
*put++ = ',';
*put++ = '\'';
memcpy(put, in, i);
put += i;
*put++ = '\'';
}
*put++ = ')';
*put++ = '\0';
}

请注意,这不能防止输出中的缓冲区溢出。

关于c - 如何在C中检索字符串的多个子字符串并将它们写入一个字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19535622/

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