求C语言中怎么用strstr函数求!位置!
我是要求从左到右数它第一次出现在第几个位置。char*p,s1[],s2[];p=strstr(s1,s2);得出来的是指针啊。。。怎么处理?如abcdcd得到的是3...
我是要求从左到右数它第一次出现在第几个位置。
char *p,s1[],s2[];
p=strstr(s1,s2);
得出来的是指针啊。。。怎么处理?
如 abcd
cd
得到的是3 展开
char *p,s1[],s2[];
p=strstr(s1,s2);
得出来的是指针啊。。。怎么处理?
如 abcd
cd
得到的是3 展开
展开全部
strstr()函数是标准C语言函数,在linux系统下,运行命令man strstr 可以看到strstr()函数原型为:
$ man strstr
SYNOPSIS
#include <string.h>
char *strstr(const char *haystack, const char *needle);
DESCRIPTION
The strstr() function finds the first occurrence of the substring needle in the string haystack. The terminating '\0' characters are not compared.
函数功能描述: strstr()函数查找needle(第二个参数)在字符串haystack(第一个参数)中首次出现的位置。如果找到,则返回子串首位置的指针值,否则返回NULL。
如果想将指针位置转换成相应的字符偏移位置,可以用返回指针与字符串haystack指针进行相减运算,得到偏移值。参考代码和运行结果如下:
展开全部
char *p = 0;
char *s1 = "abcd";
char *s2 = "cd";
p=strstr(s1,s2);
int ret = p - s1;
print("%d\n",ret);
char *s1 = "abcd";
char *s2 = "cd";
p=strstr(s1,s2);
int ret = p - s1;
print("%d\n",ret);
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
p-s1+1就是其位置
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询