C言語のstrstr関数の使用方法

C言語のstrstr関数は、ある文字列内から部分文字列の存在位置を検索する関数です。

関数のプロトタイプは次のようになります。

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

各行各業に影響が出た

  1. 干し草の山:子文字列を探す文字列
  2. needle:検索する対象の文字列。

戻り値:

  1. 副文字列が見つかった場合、副文字列が最初に現れる元の文字列内位置へのポインターを返します。
  2. 見つからなければ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

前述の例では文字列 “Hello, World!” の中に部分文字列 “World” を探しており、その場所は位置 7 で見つかっています。返却されるポインタは元の文字列からのオフセットであることに注意してください。元の文字列からポインタを引き算することで、元の文字列の中で部分文字列のインデックスを得ることができます。部分文字列が見つからない場合は NULL が返されます。

bannerAds