strspn() —最初の不一致文字のオフセットの検索
フォーマット
#include <string.h>
size_t strspn(const char *string1, const char *string2);
言語レベル
ANSI
スレッド・セーフ
はい
ロケール依存
この関数の振る舞いは、現行ロケールの LC_CTYPE カテゴリーの影響を受ける可能性があります。詳細については、CCSID およびロケールの理解を参照してください。
説明
strspn() 関数は、string2 で指定される文字のセットに含まれない、 string1 内文字が最初に現れる位置を検索します。 string2 を終了するヌル文字 (¥0) は、 一致プロセスでは考慮に入れられません。
戻り値
strspn() 関数は、検出された最初の文字のインデックスを戻します。 この値は、string2 からの文字のみで構成される string1 の初期サブストリングの長さと等しいです。string1 が string2 内にない文字で始まる場合、strspn() 関数は 0 を戻します。string1 内のすべての文字が string2 で検出される場合、string1 の長さが戻されます。
例
この例は、配列 string で、a、b、または c 以外が最初に現れる位置を検索します。この例のストリングは、
cabbage であるため、strspn() 関数は
5 (a、b、または c 以外の文字の前の
cabbage のセグメントの長さ) を戻します。
#include <stdio.h>
#include <string.h>
int main(void)
{
char * string = "cabbage";
char * source = "abc";
int index;
index = strspn( string, "abc" );
printf( "The first %d characters of ¥"%s¥" are found in ¥"%s¥"¥n",
index, string, source );
}
/***************** Output should be similar to: *****************
The first 5 characters of "cabbage" are found in "abc"
*/
関連情報
- strcat — ストリングの連結
- strchr() — 文字の検索
- strcmp() — ストリングの比較
- strcpy() — ストリングのコピー
- strcspn() — 最初に一致した文字のオフセットの検索
- strpbrk() — ストリング内の文字の検索
- strrchr() — ストリング内で文字が最後に現れる位置の検出
- wcschr() — ワイド文字の検索
- wcscspn() — 最初に一致したワイド文字のオフセットの検索
- wcspbrk() — ストリング内のワイド文字の位置検出
- wcsspn() — 最初の不一致ワイド文字のオフセットの検索
- wcswcs() — ワイド文字サブストリングの位置検出
- wcsrchr() — ストリング内でワイド文字が最後に現れる位置の検出
- <string.h >