/* */ //******************************************************0 /* 函数功能: 判断字符串subString是否是字符串String从首字符开始的子串 函数原型: BOOL SubStringMatchHead(char* String,char* subString) 函数参数: char* String:字符串 char* subString:子字符串 返回值: 如果是,则返回TRUE,否则返回FALSE 异常: 无 */ BOOL SubStringMatchHead(char* String,char* subString) { int i; if(!String || !subString || strlen(String)<strlen(subString)) return FALSE; i=0; while(i<strlen(subString)) { if(String[i]-subString[i]) return FALSE; ++i; } return TRUE; } //******************************************************0 //******************************************************0 /* 函数功能: 这个函数用来求一个字符串 函数原型: int GetMaxSubStringLen(const char* string) 函数参数: const char* String:字符串 返回值: 如果有的话则返回最大长度,否则就返回-1 异常: 无 */ int GetMaxSubStringLen(const char* string) { int i, MaxMatch; if(!string || !string[0]) return -1; MaxMatch=0; i=1; while(i < (strlen(string)-1) ) { //从后往前取子串,判断子串是否与字符串从头开始匹配 if(SubStringMatchHead(string,&string[strlen(string)-i])) { if(i>MaxMatch) MaxMatch=i; } ++i; } return MaxMatch; } //******************************************************1
【2】strpbrk
/* 本程序实现库函数strpbrk();的功能 create date:2013-08-07 author:volcanol */ #include <stdio.h> int strpbrk(char str[],char partner[]); int main(int argc,char* argv[]) { char test[]="gjioehgoifsajflksdhjgiorewufodjs"; char partner[]="oj"; printf("%d",strpbrk(test,partner)); getc(stdin); return 0; } int strpbrk(char str[],char partner[]) { int i, j; for(i=0;partner[i]!='\0';++i) for(j=0;str[j]!='\0';++j) if(!(str[j] ^ partner[i])) return j+1; return -1; }