C言語で特定の文字列を探す方法を教えてください。
C 言語では、指定された文字列を調べる場合はライブラリ関数 strstr() が利用されます。この関数は、ある文字列内から別の指定された文字列を検索するために使用され、最初に一致した位置を返します。
関数のプロトタイプは以下のとおりです:
char *strstr(const char *haystack, const char *needle);
パラメータの説明:
- 検索対象の文字列: haystack
- 針:検索する対象文字列。
戻り値:
- 見つかった場合、一致した文字列の位置を返す。
- ターゲット文字列がなければ、「NULL」を返す
サンプルの使用法:
#include <stdio.h>
#include <string.h>
int main() {
char str1[50] = "This is a test string";
char str2[10] = "test";
char *ptr;
// 在str1中查找str2
ptr = strstr(str1, str2);
if (ptr != NULL) {
printf("目标字符串在位置:%ld\n", ptr - str1);
} else {
printf("未找到目标字符串\n");
}
return 0;
}
ネイティブに日本語で言い換えてください
目标字符串在位置:10
上のサンプルでは、strstr(str1, str2)はstr1の中でstr2を探して、str2がstr1で最初に現れた位置を返します。この例ではstr2はstr1で最初に10の位置で現れます。