91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

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
迁西县| 祁连县| 富顺县| 宾阳县| 陕西省| 忻城县| 武陟县| 成武县| 九寨沟县| 枣阳市| 乌拉特后旗| 永胜县| 新郑市| 林西县| 封丘县| 金秀| 德州市| 渭源县| 柏乡县| 青神县| 合作市| 星座| 朝阳区| 丰城市| 崇州市| 临高县| 泽库县| 泸州市| 华容县| 柘荣县| 凌源市| 吉木萨尔县| 卓尼县| 达孜县| 闽侯县| 包头市| 清新县| 余姚市| 墨竹工卡县| 沾益县| 庄河市|