在C中搜索字符串中的单词

在C中搜索字符串中的单词,c,string,C,String,我这里有一个新手问题,我想和你一起学习。 我有一个结构数组,数组中有一个字符串变量。 我想计算字符串变量中包含单词“string”的所有位置。 我的问题是,我不知道string.h函数用于在字符串中搜索单词并对其进行计数 希望你能帮助我 下面是我想要的一个简单的例子 struct _man { char name[50]; int house_number; }; void main() { int i=0,count=0; struct _man man[20]; //

我这里有一个新手问题,我想和你一起学习。 我有一个结构数组,数组中有一个字符串变量。 我想计算字符串变量中包含单词“string”的所有位置。 我的问题是,我不知道string.h函数用于在字符串中搜索单词并对其进行计数

希望你能帮助我

下面是我想要的一个简单的例子

struct _man
{
  char name[50];
  int house_number;
};


void main()
{
  int i=0,count=0;
  struct _man man[20];
  //assuming there is already information inside the array struct
  for(i = 0; i<20;i++)
  {
    if (//function i want to know to search for the word "Jose" inside string  man[i].name)
    {
      count++;
    }
  }
  printf("There is %d people with the word Jose in their name\n",count);
}
struct\u-man
{
字符名[50];
int house_编号;
};
void main()
{
int i=0,count=0;
结构人[20];
//假设数组结构中已经存在信息
对于(i=0;i您可以从
string使用。h

strstr()
是您需要使用的:

例如:

char * name = "Jose Pedro Birto";
char * toBeMatched = "Pedro";

if (strstr(name, toBeMatched)) {   // or (strstr(name, toBeMatched) != null)
    printf("name contains Pedro");
} else {
    printf("name does not contain Pedro");
}

谷歌搜索
strstr()产生的量足以让您开始。请在发布堆栈溢出之前做简单的研究。您是否认为这样的函数可能不存在,并且您必须编写它?提示:使用循环。此外,您的标题是误导性的。您说您要搜索子串,但您确实想计算子串的实例。从技术上讲,他确实希望搜索第一个出现的子字符串。然后搜索之后第一个出现的子字符串。然后搜索之后第一个出现的子字符串;)“约瑟夫佩德罗布里托哈哈,休息一下,因为发布这个问题可能比在正常情况下发明一个解决方案花费更多的时间。C不是C++。他还想计数。STRSTR(名字,ToMeMatt)是正确的,谢谢你的时间;)JONATON ReNHART <代码> STRSTREST()<代码>来自C!我使用C++ <代码> cOUT <代码>输出,不回答使用<代码> STRSTRESE(<代码> >错误OK?和“计数”,你真的读过OP的问题吗?计数不是问题的一部分。他所要求的只是一种方法,来看看另一个字符串中是否存在字符串。真的不知道否决投票的原因。如果人们仅仅因为我使用了cout而不是printf而认为它无关紧要,那么让我改变它(但老实说,这很愚蠢,因为这不是答案的主要部分)