在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;
}