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