gpt4 book ai didi

c - 按子字符串拆分字符串

转载 作者:太空狗 更新时间:2023-10-29 16:11:04 27 4
gpt4 key购买 nike

我有以下字符串:

char str[] = "A/USING=B)";

我想拆分为单独的 AB 值,使用 /USING= 作为分隔符

我该怎么做?我知道strtok()但它只是用一个字符作为分隔符。

最佳答案

正如其他人所指出的,您可以使用 strstr来自 <string.h>在你的字符串中找到分隔符。然后复制子字符串或修改输入字符串以将其拆分。

这是一个返回拆分字符串的第二部分的实现。如果字符串无法拆分,则返回 NULL并且原始字符串未更改。如果需要将字符串拆分成更多的子串,可以重复调用尾部的函数。第一部分将是输入字符串,可能会缩短。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

char *split(char *str, const char *delim)
{
char *p = strstr(str, delim);

if (p == NULL) return NULL; // delimiter not found

*p = '\0'; // terminate string after head
return p + strlen(delim); // return tail substring
}

int main(void)
{
char str[] = "A/USING=B";
char *tail;

tail = split(str, "/USING=");

if (tail) {
printf("head: '%s'\n", str);
printf("tail: '%s'\n", tail);
}

return 0;
}

关于c - 按子字符串拆分字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34942523/

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