在src中找出最后出现的child子字符串

在src中找出最后出现的child子字符串

// 在src中找出最后出现的child子字符串
	static char *FindLastString(char *src, char *child);



//********************************************************************
// Function		:	FindLastString
// Description	:	在src中找出最后出现的child子字符串
// Input		:	src	: 母串
// Input		:	child	: 要查找的字符
// Output		:	NONE
// return		:	NULL失败。 成功返回对应的指针
//********************************************************************
char *YString::FindLastString(char *src, char *child)
{
	char *p, *p1;
	int i=0;
	if(src == NULL || child == NULL)	return NULL;
	p = strstr(src, child);
	if(p == NULL)	return NULL;
	while(1)
	{
		if((unsigned)i >= strlen(src))	break;
		p1 = strstr(p, child);
		if(p1 == NULL){
			p -= strlen(child);
			return p;
		}
		p += strlen(child);
		i++;
	}

	return NULL;
}

在src中找出最后出现的child子字符串,及其在src中出现的位置

// 在src中找出最后出现的child子字符串,及其在src中出现的位置
	static char *FindLastString2(char *src, char *child, int *childpos);


//********************************************************************
// Function		:	FindLastString2
// Description	:	在src中找出最后出现的child子字符串,及其在src中出现的位置
// Input		:	src	: 母串
// Input		:	child	: 要查找的字符
// Output		:	childpos: child在src中的位置
// return		:	NULL失败。 成功返回对应的指针
//********************************************************************
char *YString::FindLastString2(char *src, char *child, int *childpos)
{
	char *p, *p1;
	int i=0;
	if(src == NULL || child == NULL)	return NULL;
	p = strstr(src, child);
	if(p == NULL)	return NULL;
	while(1)
	{
		if((unsigned)i >= strlen(src))	break;
		p1 = strstr(p, child);
		if(p1 == NULL){
			p -= strlen(child);
			*childpos = strlen(src) - strlen(p);
			return p;
		}
		p += strlen(child);
		i++;
	}

	return NULL;
}




你可能感兴趣的:(在src中找出最后出现的child子字符串)