strcspn() — 最初に一致した文字のオフセットの検索
形式
#include <string.h>
size_t strcspn(const char *string1, const char *string2);言語レベル
ANSI
スレッド・セーフ
はい
ロケール依存
この関数の振る舞いは、現行ロケールの LC_CTYPE カテゴリーの影響を受ける可能性があります。 詳しくは、 CCSID とロケールについてを参照してください。
説明
strcspn() 関数は、 string2によって指定された文字セットに属する、 string1 内の文字の最初のオカレンスを検索します。 ヌル文字は、検索対象になりません。
strcspn() 関数は、ヌル終了ストリングを操作します。 関数のストリング引数には、
ストリングの終わりを示すマークであるヌル文字 (\0) が含まれていなければなりません。
戻り値
strcspn() 関数は、検出された最初の文字の索引を戻します。 この値は、すべて string2 内にはない文字で構成される、string1 の最初のサブストリングの長さと同じです。
例
この例では、
strcspn() を使用して、 string内の任意の文字 a、
x、
l、または
eの最初のオカレンスを検索します。
#include <stdio.h>
#include <string.h>
#define SIZE 40
int main(void)
{
char string[SIZE] = "This is the source string";
char * substring = "axle";
printf( "The first %i characters in the string \"%s\" "
"are not in the string \"%s\" \n",
strcspn(string, substring), string, substring);
}
/********** Output should be similar to: **************
The first 10 characters in the string "This is the source string"
are not in the string "axle"
*/