gpt4 book ai didi

C: 函数结束后丢失 char** 的内容

转载 作者:太空宇宙 更新时间:2023-11-03 23:50:06 25 4
gpt4 key购买 nike

<分区>

我有一个我无法解决的问题。我将一个字符串拆分为多个子字符串,并将这些子字符串放入一个数组中。一切顺利,直到搜索功能结束。 strtok 函数生成完美的子字符串,然后所有内容都很好地放入数组中,但是当函数结束时,数组将丢失所有内容。我尝试了很多不同的东西,但似乎没有任何效果。我希望 words 数组在搜索函数结束并返回 main 时保留他的内容。

int main(void)
{
char** words=NULL;
char argument[26] = "just+an+example";

search(argument, words);
}

search(char* argument, char** words)
{
char* p = strtok (argument, "+");
int n_spaces = 0;

while (p)
{
words = realloc(words, sizeof(char*)* ++n_spaces);

if (words == NULL)
exit(-1); // memory allocation failed

words[n_spaces-1] = p;
p = strtok(NULL, "+");
}

// realloc one extra element for the last NULL
words = realloc(words, sizeof(char*)* (n_spaces+1));
words[n_spaces] = 0;
}

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