gpt4 book ai didi

C从两个单词之间的字符串中提取单词

转载 作者:行者123 更新时间:2023-12-02 07:07:06 27 4
gpt4 key购买 nike

我正在编写一个 C 程序,我遇到的问题之一是在两个单词之间提取一个单词,如下所示。

ac_auto_lvalue[] =
"ONLY / GROUP: OTHERS EXAMPLE /-----------------------------";

我需要提取“组:”和“/”之间的单词,这两个单词(组:“和”/“)将始终存在,但中间的单词可以改变,在某些情况下可能会有什么都没有...(在上面的示例输出中将是“其他示例”

任何人都可以帮助我提供上述的 C 代码段吗?

最佳答案

看看strstr功能。它可以让您找到一个指针,指向另一个字符串中第一次出现的特定字符串(例如,"Group:")。一旦有了两个指针(指向字符串的开头和结尾),您就可以使用 malloc 分配足够的内存(不要忘记终止零 '\0' ),使用 memcpy 复制字符,最后以零结尾。

int main() {
char ac_auto_lvalue[] = "ONLY / GROUP: OTHERS EXAMPLE /-----------------------------";
// Adding 7 to compensate for the length of "GROUP: "
const char *p1 = strstr(ac_auto_lvalue, "GROUP: ")+7;
const char *p2 = strstr(p1, " /");
size_t len = p2-p1;
char *res = (char*)malloc(sizeof(char)*(len+1));
strncpy(res, p1, len);
res[len] = '\0';
printf("'%s'\n", res);
return 0;
}

关于C从两个单词之间的字符串中提取单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9928980/

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