C言語 文字列検索:部分文字列の位置を特定する方法
C言語では、strstr関数を使用して文字列内の部分文字列の位置を検索することができます。この関数のプロトタイプは以下のようになります:
char *strstr(const char *haystack, const char *needle);
haystackは検索される文字列であり、needleは検索する部分文字列です。関数は部分文字列が文字列内で最初に現れる位置を返し、部分文字列が見つからない場合はNULLを返します。
以下は例示コードです:
#include <stdio.h>
#include <string.h>
int main() {
const char *haystack = "Hello, World!";
const char *needle = "World";
char *result = strstr(haystack, needle);
if (result) {
printf("子串出现在字符串的位置:%ld\n", result - haystack);
} else {
printf("未找到子串\n");
}
return 0;
}
上記の例では、”Hello, World!”という文字列から”World”という部分文字列の位置を検索しています。部分文字列が見つかれば、その位置を表示し、見つからない場合は”部分文字列が見つかりません”と表示します。