中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

strstr函數如何實現子串查找

小樊
85
2024-06-18 12:40:59
欄目: 編程語言

在C語言中,可以通過循環遍歷主串中每個字符,并使用strncmp函數來比較子串和主串中的每個可能的子串,如果相等則返回該子串在主串中的位置。具體實現可以參考以下代碼:

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

char* strstr_custom(const char* haystack, const char* needle) {
    if (*needle == '\0') {
        return haystack; // 如果子串為空,則直接返回主串
    }

    while (*haystack != '\0') {
        if (*haystack == *needle && strncmp(haystack, needle, strlen(needle)) == 0) {
            return (char*) haystack; // 如果找到子串,則返回該子串在主串中的位置
        }
        haystack++;
    }

    return NULL; // 如果找不到子串,則返回NULL
}

int main() {
    const char* haystack = "hello world";
    const char* needle = "world";

    char* result = strstr_custom(haystack, needle);

    if (result != NULL) {
        printf("子串 \"%s\" 在主串 \"%s\" 中的位置為 %ld\n", needle, haystack, result - haystack);
    } else {
        printf("子串 \"%s\" 未在主串 \"%s\" 中找到\n", needle, haystack);
    }

    return 0;
}

以上代碼中定義了一個自定義的strstr函數strstr_custom來實現子串查找功能。在main函數中調用strstr_custom函數來查找子串在主串中的位置,并輸出結果。

0
陵水| 任丘市| 新绛县| 勐海县| 息烽县| 昭觉县| 甘谷县| 双峰县| 牡丹江市| 新竹市| 延长县| 乐平市| 威宁| 晋江市| 察隅县| 城市| 淮阳县| 台北市| 漳平市| 揭东县| 吉木乃县| 山东| 锡林浩特市| 永胜县| 肃北| 吉安市| 古丈县| 临颍县| 韶山市| 蕉岭县| 金乡县| 仲巴县| 哈巴河县| 荃湾区| 竹山县| 岑巩县| 鹤壁市| 兰西县| 洪洞县| 蒙自县| 八宿县|