gpt4 book ai didi

将一个指针数组连接并添加到另一个指针数组的一个索引中

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

是否可以将一个指针数组连接并添加到另一个指针数组的一个索引中。我试图获取 *token 指针中的字符串,并将其作为命令指针数组的第一个索引中的一个字符串,依此类推

            cmd = strtok(str, " ");
while(n < 5 && (act_token = strtok(NULL, " ")))
{
token[n] = act_token;
n++;
}
token[n] = NULL;


/* Below is where I'm trying to add all the elements of the token array into one index of the comands array */
while( z < len ){
comands[b] = token[z];
z++;
}
b++;
}

最佳答案

为了避免循环串联导致的 O(n*n) 复杂性,在 @zzxyz 中否则好的答案,请考虑复制到累积目的地的末尾。

char *concat_alloc(const char *token[], size_t n) {
size_t sum = 1;
for (size_t i = 0; i < n; i++) {
size_t len = strlen(token[i]);
sum += len;
if (sum < len) {
return NULL; // Too long
}
}

char *dest = malloc(sum);
if (dest) {
char *p = dest;
for (size_t i = 0; i < n; i++) {
size_t len = strlen(token[i]);
memcpy(p, token[i], len);
p += len; // advance to the end
}
*p = '\0';
}
return dest;
}

关于将一个指针数组连接并添加到另一个指针数组的一个索引中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52489164/

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