在字符串中查询是否出现过某一字符串

来源:百度知道 编辑:UC知道 时间:2024/05/30 04:09:20
在一个char *的字符串中查找是否出现过给定的chFind字符串
c语言中的
详细代码
譬如 我有两个字符串 一个是 month 一个是 year
而我给定一个ear
我要前一个返回 0 ; 后一个返回 1

#include <stdio.h>
#include <string.h>
void main()
{
int find(char *source_str,char *str1);
printf("%d\n",find("month","ear"));
printf("%d\n",find("year","ear"));

}

int find(char *source_str,char *str1)/*查找str1在source_str中第一次出现的位置,找到返回1,找不到就返回0*/
{
int i=0,j=0;
int temp;
while(source_str[i]!='\0')
{
j=0;
temp=i; /*从source_str逐个位开始进行比较*/
while(source_str[temp]!='\0'&&str1[j]!='\0'&&source_str[temp]==str1[j])
{ /*逐个字符比较,相同就继续比较下一个字符,不相同就跳出循环*/
temp++; /*记录比较source_str的位置*/
j++; /*记录比较str1的位置*/
}
if(j==strlen(str1)) /*一直比较到str1尾部,逐个字符都相同*/
return 1;
i++;
}
return 0;
}

为什么不用C++写呢里面有一个string类!它提供了一组操作,你只要几句话就可以完成任务!这里要写一段很长的代码,你可以在《数据结构》书上找到答案。
#include <iostream.h>
#include <string.h>