C语言编程实现,在一个字符串中,查找另一个字符串第一次出现的位置,如果不存在

编程实现,在一个字符串中,查找另一个字符串第一次出现的位置,如果不存在,则返回值为-1... 编程实现,在一个字符串中,查找另一个字符串第一次出现的位置,如果不存在,则返回值为-1 展开
 我来答
小院905
2013-04-07
知道答主
回答量:22
采纳率:0%
帮助的人:20.9万
展开全部
#include <stdio.h>
#include <string.h>
/**************************************************
函数名:strstrn
参数: char *str1,char *str2,int n
返回值:char *
说明: 此函数在str1中找str2第n次出现,如果str2为空,返
回str1;如果str2在str1中出现则返回str2在str1中
出现的位置,n为负数时返回NULL
2013-4-7 22:37
***************************************************/
char * strstrn(char *str1,char *str2,int n)
{
int Count,len2,temp_len;
if(n<=0)return NULL;
char *p=str1;
len2=strlen(str2);
for(Count=0;Count<n;Count++)
{
p=strstr(p,str2);
if(p==NULL)break;
temp_len=strlen(p);
//将指针后移len2个单位
if(temp_len<len2)break;
p=p+len2;
}
//如果未找到,此时Count肯定不会等于n,返回NULL
if(Count<n)return NULL;
//如果Count==n,那么肯定是找到了
else return p-len2;
}
int main(void)
{
char *str1="aBCaBaBCZXZXCXCVBNMFGERasdfwerqwCVB";
char *str2="T";
char *p=strstrn(str1,str2,3);
if(p==NULL)
{
printf("没找到!!\n");
}
else
{
printf("%s\n",p);
}
return 0;
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
heroxfcy
2012-07-07 · 超过13用户采纳过TA的回答
知道答主
回答量:111
采纳率:0%
帮助的人:48.2万
展开全部
int first_str(char *q,char *p)
{
char *s;
if(s=strstr(q,p)) return s-q;
return -1;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
乐跑小子
2015-12-24 · TA获得超过1.5万个赞
知道大有可为答主
回答量:1.1万
采纳率:7%
帮助的人:5030万
展开全部
char *strstr(const char *s1, const char *s2)
{
int n;
if (*s2)
{
while (*s1)
{
for (n=0; *(s1 + n) == *(s2 + n); n++)
{
if (!*(s2 + n + 1))
return (char *)s1;
}
s1++;
}
return NULL;
}
else
return (char *)s1;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tking4
2012-07-01 · TA获得超过176个赞
知道答主
回答量:82
采纳率:0%
帮助的人:68.7万
展开全部
char *strstr(const char *s1, const char *s2)
{
int n;
if (*s2)
{
while (*s1)
{
for (n=0; *(s1 + n) == *(s2 + n); n++)
{
if (!*(s2 + n + 1))
return (char *)s1;
}
s1++;
}
return NULL;
}
else
return (char *)s1;
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
youtubezou
2012-07-01
知道答主
回答量:30
采纳率:0%
帮助的人:25.7万
展开全部
int strPos(const char* src, const char* pattern) {
char* pLocate = strstr(src, pattern); //库函数。
if (pLocate == NULL
return -1;
return pLocate-src;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式