gpt4 book ai didi

c - strstr 用于 OR 搜索?

转载 作者:太空宇宙 更新时间:2023-11-04 01:24:45 24 4
gpt4 key购买 nike

这可能是一个基本的东西,但我找不到一个紧凑的解决方案。我正在一个更大的字符串中搜索一个字符串。由于它的硬件有时我会丢失输入数据,所以我想检查一个较大的文本中是否存在几个单词之一,所以:

strstr(wifiContent,"SEND OK  HTTP:  Connection:) 

如果这些词出现在this组合中,将在wifiContent中搜索,但我希望他返回>0,即使只有一个它们出现在字符串中,

所以对于这个输入:

SEND OK BLA BLA BLA.. BLA BLA BLA.. HTTP: ...BLA BLA BLA... Connection...bla

我想得到 true(or index >0) 的搜索结果。

如何使用 strstr 实现此目的?

编辑:

这个我试过没有成功:

 char * pch;
char *scopy;
strcpy(scopy,wifiContent);
pch = strtok (scopy," ,.-");
while (pch != NULL)
{
if( strstr(wifiContent,pch) )
return 1;

pch = strtok (NULL, " ,.-");
}

if( strstr(wifiContent,target) )
return 1;

最佳答案

这是一个简单的程序来演示如何做到这一点-

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main (void)
{
char a[]="SEND OK BLA BLA BLA.. BLA BLA BLA.. HTTP: ...BLA BLA BLA... Connection...bla";
char s[]="SEND OK HTTP: Connection"; //string with words you want to check
char *ret ,*token;
int index=0; // declare index
token=strtok(s," "); // tokenize s
while(token!=NULL){ // check return of strtok
ret=strstr(a,token); // search words
if(ret!=NULL) // check return of strstr
index++; // increment index
token=strtok(NULL," ");
}
printf("%d",index); // print index
return 0;
}

这基本上会在您的原始字符串中搜索这四个单词,如果找到任何一个,则递增 index。这样您的原始字符串将保持不变。

Output of above program

关于c - strstr 用于 OR 搜索?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33328304/

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