strstr,strcmp,strlen函数实现

原创 2016年08月29日 22:01:11

1 函数功能
strstr:char*strstr(const char* dest,const char* src),char*是为了实现链式访问,dest为目标字符串,src为源字符串,找出src字符串在dest字符串中第一次出现的位置(不包括src的串结束符)。返回该位置的指针,如找不到,返回空指针。
strcmp:int strcmp(const char* str1,const char* str2)两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇'\0'为止,若两个字符串相等则返回0,若str1小于str2则返回负数,若str1大于str2则返回正数。
strlen:int strlen(const char* str)计算字符串str的长度。

2 代码实现

strstr
char* my_strstr(const char* dest, const char* src)
{
	assert(dest);
	assert(src);
	char* cp = (char*)dest;
	char* deststart = (char*)dest;
	char* srcstart = (char*)src;
	while (*cp != '\0')
	{
		deststart = cp;
		while ((*deststart == *srcstart)&&(*deststart != '\0')&&(*srcstart != '\0'))
		{
			deststart++;
			srcstart++;
		}
		if (*srcstart == '\0')
			return cp;
		srcstart = src;
		cp++;
	}
	return NULL;
}


strcmp
int my_strcmp(const char* dest, const char* src)
{
	assert(dest);
	assert(src);
	while ((*dest != '\0') && (*src != '\0') && (*dest == *src))
	{
		dest++;
		src++;
	}
	return *dest - *src;
}


strlen
int my_strlen(const char* dest)
{
	assert(dest);
	int count = 0;
	while (*dest)
	{
		count++;
		dest++;
	}
	return count;
}



版权声明:本文为博主原创文章,未经博主允许不得转载。

C++为什么要用虚函数

如果子类覆盖的父类的虚函数 则父类的指针或引用实际指向子类的对象 那通过该指针或引用调用虚函数时,则将调用子类的(虚)函数 如果不是虚函数,则将调用父类的函数 虚函数的优势在于 当用指针调用虚函数...

linux 下安装WebBench进行web 性能测试

编译安装: 1. wget http://www.sfr-fresh.com/unix/privat/webbench-1.5.tar.gz 2. tar zxvf webbench-1.5.ta...
  • lgh1117
  • lgh1117
  • 2015年12月23日 22:15
  • 1107

模拟实现strlen,strcpy,strcmp,strcat,strstr库函数

模拟实现strlen库函数 功能:返回字符串的长度。该字符串可能是自己定义的,也可能是内存中随机的,该函数实际完成的功能是从代表该字符串的第一个地址开始遍历,直到遇到结束符'\0'。返回的长...

strlen strcmp strcat strcpy strncpy strstr strchar函数的实现

strlen的实现#include using namespace std; int my_strlen(const char * str) { int count = 0; while (*...

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

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

自主编程实现strlen,strcpy,strcmp,strcnpy,strcat,strstr,strchr库函数

为了对strlen,strcpy,strcmp,strcnpy,strcat,strstr,strchr这几个库函数有深刻的理解和认识,所以自己就编写了一些程序函数来实现这些库函数的功能,下面是具体的...

strcpy strlen memcpy strcat strcmp strstr strrev函数的实现代码

/* //strcpy函数的实现,注意命名要与原来的库函数有区别 #include #include #include using namespace std; char *mystrcp...
  • yzl_rex
  • yzl_rex
  • 2012年07月24日 10:53
  • 1117

模拟实现字符串操作函数(strcpy,strstr,strcat,strcmp,strlen)与内存操作函数(memcpy,memmove)

一、字符串操作         strcpy(str1,str2) 复制字符串         strcat(str1,str2) 附加字符串         strlen(str) 取字符串长度 ...

strlen,strcpy,strncpy,strcmp,strcat,strstr的用法,函数原型及函数的实现

strlen,strcpy,strncpy,strcmp,strcat,strstr的用法,函数原型及函数的实现
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:strstr,strcmp,strlen函数实现
举报原因:
原因补充:

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