gpt4 book ai didi

c - 制作一个标记数组并将其与另一个字符串进行比较

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

我有一个来自控制台的*输入字符串。该字符串可能如下所示:show nameyear xxx..我需要一个如下所示的输出:姓名:阿迪年份:1994(例如)..

我一直在尝试通过使用 strtok() 函数来实现此目的,但我还需要将每个 tokon 与允许的关键字(名称、年份...)进行比较,如果不允许该单词,则需要跳过 token (已删除)..例如在本例中它将跳过 show 和 xxx。

另一个问题是我需要数组形式的这些标记才能使用它们和结构。输入中可以输入的单词数量不应受到限制。

我希望你明白我问的问题..那么,如何使用 strtok 或其他东西从字符串中创建标记并使它们成为数组或指针,以及如何将这些标记与另一个字符串进行比较(例如常量:#define NAME“name”),还有一些其他输入可以跳过(删除)它们..

如果您能帮我解决这个问题,我将非常感激..谢谢..

最佳答案

我会避免使用数组。它提供了不必要的开销。您所要求的可以通过以下方式完成:

void parseString(char * string) {
char * name = NULL;
char * year = NULL:
char * ptr = strtok(string, " ");
while (ptr != NULL) {
if (stricmp(ptr, "name") == 0) {
ptr = strtok(ptr, " ");
name = ptr;
/* do whatever with name */
} else if (stricmp(ptr, "year") == 0) {
ptr = strtok(ptr, " ");
/* do whatever with year */
year = ptr;
} /* else if ... */

ptr = strtok(ptr, " ");
}

这为您提供了相当大的灵 active 。您检查所需的所有术语,无需担心如何分配数组,并且可以在必要时访问设置值。

关于c - 制作一个标记数组并将其与另一个字符串进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20432140/

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