gpt4 book ai didi

c - 将带有空格的字符串拆分为 C 中的字符串 vector

转载 作者:行者123 更新时间:2023-11-30 19:44:29 26 4
gpt4 key购买 nike

我有一个char* str,它指向一个字符串“22 3 43 5”。我需要将其存储到 vector (一维数组)中,例如 char *vec[],这样,
vec[0]="22"等等
怎么办?

最佳答案

可以如下所示完成:

char str[20] = "22 3 43 5";
char *vec[4];
int i=0;
char *p = strtok(str," ");

while(p!= NULL )
{
vec[i] = malloc(20); /* Free the memory once you are done using it */
strcpy(vec[i],p);
p = strtok(NULL," ");
i++;
}

如果你有

char* str = "22 3 43 5";

然后 str 是一个字符串文字,它是只读的,并且 strtok() 会更改传递的字符串,因此您可能会看到崩溃。

编辑:

strotk() 函数有助于根据分隔符将 char 数组分解为标记。在这里,我使用相同的方法,并使用空格作为分隔符将 char 数组分解为标记,并将每个标记复制到 vector 中。 vec[i]。其中 vec 是指针数组,对于每个指针,我分配内存并将 token 复制到其中。

关于c - 将带有空格的字符串拆分为 C 中的字符串 vector ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28065439/

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