实现strstr()函数

来源:互联网 发布:ubuntu命令行删除文件 编辑:程序博客网 时间:2024/06/05 15:55

一)strstr()函数

函数名: strstr
功 能: 在串中查找指定字符串的第一次出现
用 法: char *strstr(char *str1, char *str2);
程序例:

#include <stdio.h>#include <string.h>int main(void){   char *str1 = "Borland International. Welcome to Wuhan.", *str2 = "nation", *ptr;   ptr = strstr(str1, str2);   printf("The substring is: %s\n", ptr);   return 0;}
实现函数的源代码:

1.Copyright 1990 Software Development Systems, Inc.

char *strstr( const char *s1, const char *s2 ) { int len2; if ( !(len2 = strlen(s2)) ) return (char *)s1; for ( ; *s1; ++ s1 ) { if ( *s1 == *s2 && strncmp( s1, s2, len2 ) == 0 ) return (char *)s1;   } return NULL; } 

2.Copyright 1986 - 1999 IAR Systems. All rights reserved

char *strstr(const char *s1, const char *s2) {int n;if (*s2) { while (*s1) { for (n = 0; *(s1 + n) == *(s2 + n); n ++){ if (!*(s2 + n + 1)) return (char *)s1; } s1++; }return NULL; } else return (char *)s1; }