gpt4 book ai didi

C 字符串数组 strtok()

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

嗨,我对 C 很陌生,整个指针与字符的关系让我非常困惑。我最难做一些非常简单的事情。

我想用分隔符 "?=&"分解一个字符串(请求),并且我想将不同的部分存储在字符串数组中,但我似乎不知道如何操作。我觉得是因为我没有完全掌握指针的概念。

这是我的代码

        char buf[1024], path[1024], request[1024], **query_string, *query_pointer;

query_pointer = strtok(request, "?=&");
strcpy(request, query_pointer);
while(query_pointer != NULL) {
strcpy(query_string, query_pointer);
query_string++;
query_pointer = strtok(NULL, "?=&");
}

最佳答案

一个非常基本的起始示例。

char **foo( char **result, char *str, const char *delim)
{
char *p=strtok(str, delim);
int i;
for(i=0; p!=NULL; p=strtok(NULL, delim)
result[i]=p;
result[i]=NULL;
return result;
}

void bar(char *str)
{
char *result[36]={NULL}; // 35 max tokens
int i=0;
result=foo(result, str, "?=&");
for(i=0; result[i]!=NULL && < 35; i++)
{
printf("%s\n", result[i]);
}
}

关于C 字符串数组 strtok(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15170585/

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