c语言库函数【string.h】之strstr_(char *s1, char *s2)
来源:互联网 发布:万能恢复软件 编辑:程序博客网 时间:2024/06/05 14:23
c语言库函数【string.h】之strstr_(char *s1, char *s2)
代码如下:
#include<assert.h>
#include<stdio.h>
//在串中查找指定字符串的第一次出现
char * strstr_(char *s1, char *s2)
{
if( s1 == NULL || s2 == NULL || *s1== '/0' || *s2 == '/0')
return (char *) NULL;
char * p1=s1;
char * p2=s2;
while(*s1)//遍历s1
{
//i=0;
p1=s1;//p1指向当前s1字符
p2=s2;//p2指向s2首字符
while(*p1 == *p2 && *p1 && *p2)//匹配字串
{
p1++;
p2++;
}
if(*p2=='/0')//如果p2指向s2末尾,则说明在s1中匹配s2成功
{
return s1;
}
s1++;//s1指向下一个字符
}
return (char *) NULL;
}
//在串中查找指定字符串的第一次出现,返回位置
int strstri_(char * str1,char * str2)
{
if( str1 == NULL || str2 == NULL || *str1== '/0' || *str2 == '/0')
return -1;//abcd b
char * start=str1;
char * p1=str1;
char * p2=str2;
while(*str1)//遍历s1
{
p1=str1;//p1指向当前s1字符
p2=str2;//p2指向s2首字符
while(*p1 == *p2 && *p1 && *p2)//匹配字串
{
p1++;
p2++;
}
if(*p2=='/0')//如果p2指向s2末尾,则说明匹配字串成功
{
return str1-start;
}
str1++;//s1指向下一个字符
}
return -1;
}
- c语言库函数【string.h】之strstr_(char *s1, char *s2)
- c语言库函数【string.h】之strlen_(const char * str)
- c语言库函数【string.h】之 strrep_(char *src, char* oldStr, char * newStr)
- c语言库函数【string.h】之strchr_(char *str, char c)
- c语言库函数【string.h】之strcpy_(char * dst,const char * src)
- c语言库函数【string.h】之strncpy_(char* dst,const char* src,int count)
- c语言库函数【string.h】之strcat_(char *dst, char *src)
- c语言库函数【string.h】之 substr_(char *dest, const char* src, unsigned int start, unsigned int len)
- c语言库函数【string.h】strcmp_(const char * str1,const char * str2)
- char *s1 与 char s2[]的区别
- char *s1和char s2[]的区别
- strnstr(char* s1, char*s2, int pos1) 源码
- char s1[]和char * s2的三点区别!!!
- int strcmp(const char* s1,const char* s2)
- char *s1 = "***"和char s2[]="***"的区别
- strcmp(const char *s1,const char * s2)比较字符串s1和s2函数
- C语言库函数之 int vsnprintf(char *str, size_t size, const char *format, va_list ap);
- c语言字符串库函数#include<string.h>
- 集抄设备测试程序的现状及发展趋势
- c语言库函数【string.h】之strchr_(char *str, char c)
- Dll导出对话框导致内存泄露
- 是时候出去闯闯了
- 在VC++中使用MASM-构建32位程序的必须配置
- c语言库函数【string.h】之strstr_(char *s1, char *s2)
- document.my.elements[0].value=this.value的意义
- new rap version
- c语言库函数【string.h】之 strrep_(char *src, char* oldStr, char * newStr)
- 终于用到了fflush()
- IIS与asp.net的配置
- c++成员函数指针详解
- Java 基本介绍
- SSH项目中的问题