當前位置:編程學習大全網 - 網絡軟體 - C語言,問壹個函數,檢索並且返回某字符在某字符串中第壹次出現的位置。是什麽函數,返回值有哪些?急

C語言,問壹個函數,檢索並且返回某字符在某字符串中第壹次出現的位置。是什麽函數,返回值有哪些?急

如下: 函數名: strstr 功 能: 在字符串中查找指定字符串的第壹次出現 用 法: char *strstr(char *str1, char *str2); strstr原型:extern char *strstr(char *haystack, char *needle); 頭文件:#include <string.h> 功能:從字符串haystack中尋找needle第壹次出現的位置(不比較結束符NULL)。 說明:返回指向第壹次出現needle位置的指針,如果沒找到則返回NULL。 編輯本段函數原型 1.Copyright 1990 Software Development Systems, Inc. </B>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; } 編輯本段舉例 // strstr.c #include <syslib.h> #include <string.h> main() { char *s="Golden Global View"; char *l="lob"; char *p; clrscr(); p=strstr(s,l); if(p) printf("%s",p); else printf("Not Found!"); getchar(); return 0; } 語法:* strstr(str1,str2) str1: 被查找目標 string expression to search. str2:要查找對象 The string expression to find. 該函數返回str2第壹次在str1中的位置,如果沒有找到,返回NULL The strstr() function returns the ordinal position within str1 of the first occurrence of str2. If str2 is not found in str1, strstr() returns 0. 例子: 功能:從字串” string1 onexxx string2 oneyyy”中尋找”yyy” (假設xxx和yyy都是壹個未知的字串) char *s=” string1 onexxx string2 oneyyy”; char *p; p=strstr(s,”string2”); if(p==NULL) printf(“Not Found!”); p=strstr(p,”one”); if(p==NULL) printf(“Not Found!”); p+=strlen(“one”); printf(“%s”,p); 說明:如果直接寫語句p=strstr(s,”one”),則找到的是onexxx string2 oneyyy,不符合要求 所以需采用二次查找法找到目標

  • 上一篇:監獄的電影都有哪些?
  • 下一篇:如何用flash制作和文字動畫
  • copyright 2024編程學習大全網