strstr()函数的实现
2014-06-03 18:39
246 查看
时间:2014.06.03
地点:基地
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
地点:基地
----------------------------------------------------------------------------------
一、函数功能
判断一个字符串是否是另外一个字符串的子字符串,并返回一个子字符串在另一个字符串中第一次出现的位置。没有则返回为空。注意:空字符串是任何字符串包括空字符串本身的子串----------------------------------------------------------------------------------
二、思路
对于源字符串,即大字符串,我们假设字符串在大字符串中位置从大字符串首开始,若不是,则切换到第二个字符开始,由此可设定一个首位置游标,不断地在大字符中往后面移动。对于每个游标指定的首位置,我们对子字符串和大字符串游标开始处往后面一一比较,若中间碰到不相等字符,则马上break,进入下一轮迭代。若果一直对于每个字符相等,直到子字符串已经到了最后,即到了 ’\0' 这个字符,表明是大字符串中的一个子字符串,返回那个首位置游标。还一种情况是若大字符串的游标到了末尾还没匹配到,则说明匹配失败,小字符不是大字符串的子字符串。----------------------------------------------------------------------------------
三、代码实现
char* StrStr(char* source_str, char* dest_str){ for (;; ++source_str) { char* s_ptr = source_str; for (char* d_ptr = dest_str;; ++s_ptr, ++d_ptr){ if (!*d_ptr) return s_ptr; if (*d_ptr != *s_ptr) break; } if (!*s_ptr) return nullptr; } }
相关文章推荐
- strcpy,strcat,strcmp,strstr 实现函数
- 字符串操作函数 strstr 实现
- strchr(),strstr()函数实现
- strstr()函数实现
- strcpy strcat strcmp strstr函数实现
- strstr()函数原型实现
- 常见函数strlen、strcmp、strstr原型实现
- strstr strlen strcpy函数实现
- strstr和memcmp函数的实现
- strstr strcpy 函数的实现
- 自定义实现字符串处理函数 strlen strcmp strcpy strncpy strcat strncat strchr strstr
- 自定义实现字符串处理函数 strlen strcmp strcpy strncpy strcat strncat strchr strstr
- 实现strstr()函数
- C标准库函数实现之strstr(转)
- 一个自己实现的strstr 字符串查找函数,大家看看有什么错误和改进的地方
- 编写实现strstr()函数功能的代码
- strstr函数实现
- strcpy strlen memcpy strcat strcmp strstr strrev函数的实现代码
- KMP算法实现strstr()函数
- C系列函数原型之-StrStr(char *str,char *subStr)的实现