//src是源字符串,sub是需要查找字符的长度
//返回值为在子串在源字符串的位置
int silence_strstr(const char *src, const char *sub) { if (src == NULL || sub == NULL) { printf("src == NULL || sub == NULL\n"); return -1; } //判断查找字符串不能比源字符串长 if (strlen(src) < strlen(sub)) { printf("you src number is low sub number\n"); return -1; } const char *_src = src; const char *_sub = sub;int len = 0;
//通过flag变量来查找子串在源字符的位置
int flag = 0;
//便利源字符串
while (*_src != '\0'){
//如果flag是0,则表示子串和源字符串不匹配
if (flag == 0) len++; if (*_src == *_sub){
//当flag为1时,则表示已经匹配到子串了
flag = 1; _src++; _sub++; } else { _src++; } } return len; }