gpt4 book ai didi

使用 strcmp 进行比较

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

用 gcc C99 编译

我正在尝试使用字符串比较来比较 2 个字符串。但是,我似乎在 strcmp 行上得到了堆栈转储。

**属性将包含这些,所以我正在寻找框架类型。

[name] [time] [type] [time]
[name] [callref] [type] [string]
[name] [port] [type] [int16]
[name] [frametype] [type] [int16]

这是正确的比较方式吗?

非常感谢您的任何建议,

void g_start_element(void *data, const char *element, const char **attribute)
{
for(i = 0; attribute[i]; i++)
{
/* Only interested in the frametype */
if(strcmp(attribute[i], "frametype") == 0)
{
/* do some work here */
}

}
}

最佳答案

您需要有一个空字符串才能终止 for 循环:

[name] [time] [type] [time]
[name] [callref] [type] [string]
[name] [port] [type] [int16]
[name] [frametype] [type] [int16]
null

没有这个 for 循环不会终止,当你调用 strcmp 时你会得到指向垃圾的属性 [i]。

关于使用 strcmp 进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/610131/

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