C語(yǔ)言strstr函數(shù)的用法是什么

小億
121
2023-11-14 16:12:45

C語(yǔ)言中的strstr函數(shù)用于在一個(gè)字符串中查找子串的位置。

函數(shù)原型如下:

char *strstr(const char *haystack, const char *needle);

參數(shù):

  • haystack:要在其中查找子串的字符串。
  • needle:要查找的子串。

返回值:

  • 如果找到了子串,返回指向子串在原字符串中第一次出現(xiàn)的位置的指針。
  • 如果沒(méi)找到子串,返回NULL。

示例:

#include <stdio.h>
#include <string.h>

int main() {
    char str[] = "Hello, World!";
    char sub[] = "World";
    char *result;

    result = strstr(str, sub);
    if(result == NULL) {
        printf("Subtring not found!\n");
    } else {
        printf("Substring found at index: %ld\n", result - str);
    }

    return 0;
}

輸出:

Substring found at index: 7

在上述示例中,我們?cè)谧址?quot;Hello, World!“中查找子串"World”,并找到了它在位置7處。注意,返回的指針是相對(duì)于原字符串的偏移量,可以通過(guò)減去原字符串的指針來(lái)得到子串在原字符串中的索引。如果沒(méi)找到子串,返回NULL。

0