C/C++ 用C语言实现strstr函数

原创 2016年08月29日 20:16:34

Evelyn 

QQ: 1809335179

strstr函数原型为 strstr(char* str,char* substr)

作用是在一个字符串中查找第一次出现的连续子串,如果存在返回字符串,不存在返回NULL

我这个实现的功能是返回第一次出现子串的位置

#include <iostream>
using namespace std;

int _strstr(char* str, char* substr) {
	if (str == NULL || substr == NULL)
		return -2^32;
	int len1 = strlen(str);
	int len2 = strlen(substr);
	for (int i = 0; i < len1; i++) {
		int j = 0;
		while (str[i] == substr[j] && str[i] != '\0'&&substr[j] != '\0')
		{
			i++;
			j++;
		}
		if (substr[j] == '\0')
			return i-len2;
	}
	cout << "no match" << endl;
	return -1;
}
void main() {
	char* s1 = "abcdef";
	char* s2 = "f";
	int i=_strstr(s1, s2);
	cout << i<<endl;
	system("pause");
}

如果定义的是string ,调用strstr时需要将const char* 转换为char* ,可采用strcpy函数,调用形式为strcpy(dst,src)。

版权声明:转载请注明出处 http://blog.csdn.net/evelyn_liuzhen,如有错误欢迎指点

相关文章推荐

C语言函数strstr()分析及实现

原型:char *strstr(const char *str1, const char *str2);#include找出str2字符串在str1字符串中第一次出现的位置(不包括str2的串结束符)...

C语言字符串函数的模拟实现(strlen、strcpy、strcat、strstr 、strcmp)

C语言库函数有很多,这里我针对几个字符串函数进行模拟实现: (1)strlen     字符串求长度函数 (2)strcpy     字符串拷贝函数 (3)strcat      字符串连接函数...

c语言之模拟实现求子串(strstr)函数

strstr (str1,str2)函数是用来判断字符串str2是否是字符串str1的子字符串的函数,如果是,则返回str2在str1中出现的首字符地址,否则返回null。 代码如下: #incl...

C/C++库函数strstr和find实现子字符串查找

C/C++库函数strstr和string中find方法实现子字符串查找

POJ 3080 Blue Jeans (利用 C语言的string.h库中的strstr函数)

POJ 3080 Blue Jeans (利用 C语言的string.h库中的strstr函数)

学习笔记C语言 open fgets strstr strchr strncpy snprintf函数

open: 1 /*open.c*/ 2 #include   3 #include   4 #include   5 /* 6  * O_...

C语言strstr函数

strstr(str1,str2) 函数用于判断字符串str2是否是str1的子串。如果是,则该函数返回str2在str1中首次出现的地址;否则,返回NULL。 C语言函数 包含文...

C语言(函数)学习之strstr strcasestr

C语言(函数)学习之[strstr]&[strcasestr]一、strstr函数使用[1] 函数原型 char *strstr(const char *haystack, const char *n...

C语言之strstr函数

【FROM MSDN && 百科】 原型:char *strstr(const char *str1, const char *str2); #include 找出str2字符串...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)