- C 標準庫
- C 庫 - 首頁
- C 庫 - <assert.h>
- C 庫 - <complex.h>
- C 庫 - <ctype.h>
- C 庫 - <errno.h>
- C 庫 - <fenv.h>
- C 庫 - <float.h>
- C 庫 - <inttypes.h>
- C 庫 - <iso646.h>
- C 庫 - <limits.h>
- C 庫 - <locale.h>
- C 庫 - <math.h>
- C 庫 - <setjmp.h>
- C 庫 - <signal.h>
- C 庫 - <stdalign.h>
- C 庫 - <stdarg.h>
- C 庫 - <stdbool.h>
- C 庫 - <stddef.h>
- C 庫 - <stdio.h>
- C 庫 - <stdlib.h>
- C 庫 - <string.h>
- C 庫 - <tgmath.h>
- C 庫 - <time.h>
- C 庫 - <wctype.h>
- C 標準庫資源
- C 庫 - 快速指南
- C 庫 - 有用資源
- C 庫 - 討論
- C 程式設計資源
- C 程式設計 - 教程
- C - 有用資源
C 庫 - strstr() 函式
C 庫的 strstr() 函式返回指向另一個字串中指定子字串的第一個索引的指標。strstr() 的主要目標是在較大的字串中搜索子字串,它有助於找到指定子字串的第一次出現。
語法
以下是 C 庫 strstr() 函式的語法:
char *strstr (const char *str_1, const char *str_2);
引數
此函式接受兩個引數:
str_1 - 這是主字串。
str_2 - 要在主字串(即 str_1)中搜索的子字串。
返回值
該函式根據以下條件返回值:
如果在 str_1 中找到 str_2,則該函式返回指向 str_1 中 str_2 的第一個字元的指標;如果在 str_1 中未找到 str_2,則返回空指標。
如果 str_2 為空字串,則返回 str_1。
示例 1
以下是 C 庫程式,它使用 strstr() 函式演示了子字串在主字串中的存在。
#include <stdio.h>
#include <string.h>
int main () {
const char str[20] = "TutorialsPoint";
const char substr[10] = "Point";
char *ret;
// strstr(main_string, substring)
ret = strstr(str, substr);
// Display the output
printf("The substring is: %s\n", ret);
return(0);
}
輸出
執行程式碼後,我們得到以下結果:
The substring is: Point
示例 2
在這裡,我們演示瞭如何使用 strstr() 函式在主字串中搜索子字串。
#include <stdio.h>
#include <string.h>
int main() {
char str_1[100] = "Welcome to Tutorialspoint";
char *str_2;
str_2 = strstr(str_1, "ials");
printf("\nSubstring is: %s", str_2);
return 0;
}
輸出
以上程式碼產生以下結果:
Substring is: ialspoint
這裡,前四個字元表示給定字串的子字串。
示例 3
在下面的示例中,設定 if-else 條件以檢查子字串是否存在於主字串中。
#include <stdio.h>
#include <string.h>
int main(){
char str[] = "It is better to live one day as a King";
char target[] = "live";
char *p = strstr(str, target);
if (p)
printf("'%s' is present in the given string \"%s\" at position %ld", target, str, p-str);
else
printf("%s is not present \"%s\"", target, str);
return 0;
}
輸出
執行程式碼後,我們得到以下結果:
'live' is present in the given string "It is better to live one day as a King" at position 16
廣告