C语言字符串向前查找 - jues
MTK unix时间戳
MTK设置闹钟

C语言字符串向前查找

jues posted @ 2013年9月18日 10:07 in 笔记(原创) , 1557 阅读
/*
逆向查找
src_str : 要查找的字符源
src_len: 源字符可以向前查找的长度
sub_str: 要查找的内容

return char* ( 成功: 查找到的位置指针,失败: NULL )
*/
char*   my_str_back_find( char* src_str,int src_len,const char* sub_str  )
{
	int sub_len;
	int i,i1;
	char *p;
	/**/
	if ( NULL == src_str || NULL == sub_str || 0 >= src_len )	
		return NULL;

	sub_len = strlen( sub_str );
	if ( 0 >= src_len )
		return NULL;

	if ( src_len < sub_len )
		return NULL;

	/* 两个字符要查找的长度相等,则直接比较 */
	if ( src_len ==  sub_len )
	{
		p = src_str - sub_len;
		if ( 0 == strcmp( p,sub_str ) )
		   return  p;
		else
		   return NULL;
	}

	/* 向前查找 */
	for ( i = 0 ; src_len > i;i++  )
	{
		p = src_str -( sub_len + i ) ;
		if ( 0 == memcmp(  p,sub_str,sub_len ) )
			return p;

	}

	return NULL;

}

登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter