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의 초기 서브스트링 길이와 같습니다. string1string2에 없는 문자로 시작하는 경우 strspn() 함수는 0을 리턴합니다. string1의 모든 문자가 string2에 있으면 string1 길이가 리턴됩니다.

이 예는 배열 string에서 a, b 또는 c가 아닌 첫 번째 표시를 찾습니다. 이 예의 스트링은 cabbage이기 때문에 strspn() 함수는 a, b 또는 c가 아닌 문자 앞의 cabbage 세그먼트 길이인 5를 리턴합니다.
#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"
*/