strstr函数?strstr函数源程序
本篇文章给大家谈谈strstr函数,以及strstr函数源程序对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。
C语言中,strstr函数的功能是什么不用库函数,自己写怎么写
函数原型是char*strstr(char*str1,char*str2);作用是找出str2字符串在str1字符串中第一次出现的位置(不包括str2的串结束符)
如果找到返回该位置的指针。若找不到,返回NULL指针。如果不用库函数写,就得用到串操作中的模式匹配算法,或者他的改进算法!!!
这里给你一个模式匹配算法不明白的,可以交流下!!
#include<stdio.h>
#include<string.h>
int main()
{
char a[10];
char b[5];
int i,j,m,n,k;
printf("输入字符串a:");
scanf("%s",a);
printf("输入字符串b:");
scanf("%s",b);
i=k=0;
j=0;
while(i<strlen(a)&&j<strlen(b))
{
if(a[i]==b[j])
{
i++;
j++;
}
else
{
j=0;k++;
i=k;//可用于记录原来i的位置;
}
}
if(j>=strlen(b))//判断找到字符串的条件
{
printf("找到字符串%s",b);
return 1;
}
else
{
printf("未找到字符串%s\n",b);
return 0;
}
}
c编程高手团队正在招新,有意者速速行动,一起学习,一起努力!!
strpbrk和strstr的区别
strstr()、strchr()、strpbrk()
strstr()原型:extern char*strstr(char*haystack, char*needle);用法:#include<string.h>功能:从字符串haystack中寻找needle第一次出现的位置(不比较结束符NULL)。说明:返回指向第一次出现needle位置的指针,如果没找到则返回NULL。举例:// strstr.c#include<syslib.h>#include<string.h> main(){ char*s="Golden Global View"; char*l="lob"; char*p; clrscr(); p=strstr(s,l); if(p)
printf("%s",p); else printf("Not Found!"); getchar();
return 0;} strchr()原型:extern char*strchr(const char*s,char c);用法:#include<string.h>功能:查找字符串s中首次出现字符c的位置说明:返回首次出现c的位置的指针,返回的地址是字符串在内存中随机分配的地址再加上你所搜索的字符在字符串位置,如果s中不存在c则返回NULL。举例:#include<string.h>#include<stdio.h> intmain(void){ charstring[17]; char*ptr,c='r'; strcpy(string,"Thisisastring");
ptr=strchr(string,c); if(ptr) printf("Thecharacter%cisatposition:%s\n",c,ptr); else printf("Thecharacterwasnotfound\n");return0;
} strpbrk()
函数原型:extern char*strpbrk(char*str1, char*str2);
函数功能:比较字符串str1和str2中是否有相同的字符,如果有,则返回该字符在str1
中的位置的指针。
返回说明:返回指针,搜索到的字符在str1中的索引位置的指针。
#include<string.h>
#include<stdio.h>int main()
{ char*str1="please try again,sky2098!";
char*str2="Hello,I am sky2098,I like writing!"; char*strtemp;
strtemp=strpbrk(str1,str2);//搜索进行匹配 printf("Result is:
%s",strtemp); return 0;
}
string.h头文件中有什么函数
string.h头文件中的函数:
1、#include<algorithm>//STL通用算法
2、#include<bitset>//STL位集容器
3、#include<complex>//复数类
4、#include<deque>//STL双端队列容器
5、#include<exception>//异常处理类
6、#include<list>//STL线性列表容器
7、#include<map>//STL映射容器
8、#include<ios>//基本输入/输出支持
9、#include<iosfwd>//输入/输出系统使用的前置声明
10、#include<ios>//基本输入/输出支持
C语言标准库中一个常用的头文件,在使用到字符数组时需要使用。string.h头文件定义了一个变量类型、一个宏和各种操作字符数组的函数。C语言里面关于字符数组的函数定义的头文件,常用函数有strlen、strcmp、strcpy等等。
扩展资料
一般在C++的库中,对于一个旧的,也就是带“.h”扩展名的库文件(比如iostream.h),在新标准后的标准库中都有一个不带“.h”扩展名的与之相对应,区别除了后者的好多改进之外,还有一点就是后者的东东都塞进了“std”名字空间中。
但唯独string特别。问题在于C++要兼容C的标准库,而C的标准库里碰巧也已经有一个名字叫做“string.h”的头文件,包含一些常用的C字符串处理函数。这个头文件跟C++的string类半点关系也没有,所以<string>并非<string.h>的“升级版本”,
参考资料来源:百度百科-string.h
OK,关于strstr函数和strstr函数源程序的内容到此结束了,希望对大家有所帮助。