C 언어 strspn() 함수란?
strspn() 함수는 C 언어의 <string.h> 헤더 파일에 정의된 표준 라이브러리 함수입니다. 이 함수는 첫 번째 문자열의 시작부터 두 번째 문자열에 포함된 문자들로만 연속해서 이루어진 초기 부분 문자열(segment)의 길이를 계산하고, 그 길이를 반환합니다.
쉽게 말해, 첫 번째 문자열을 처음부터 차례대로 검사하면서 두 번째 문자열에 존재하는 문자가 연속으로 나타나는 만큼의 길이를 세는 방식입니다. 두 번째 문자열에 없는 문자를 만나는 즉시 검사가 중단됩니다.
strspn() 함수 구문
다음은 C 언어에서 strspn() 함수의 기본 구문입니다.
size_t strspn(const char *string1, const char *string2);
매개변수 설명:
- string1: 검사 대상이 되는 원본 문자열입니다.
- string2: 일치 여부를 판별할 문자들의 집합 역할을 하는 문자열입니다.
반환값: string1의 시작 위치에서 string2에 포함된 문자들이 연속적으로 일치하는 길이(size_t 타입)를 반환합니다.
strspn() 함수 예제
다음은 C 언어에서 strspn() 함수를 활용한 실제 코드 예제입니다.
#include <stdio.h>
#include <string.h>
int main() {
const char s1[] = "Helloworld!";
const char s2[] = "Hello";
int length = strspn(s1, s2);
printf("The length of string : %d", length);
return 0;
}실행 결과
The length of string : 5
코드 분석
위 예제에서 s1은 "Helloworld!", s2는 "Hello"입니다. strspn(s1, s2)는 s1의 시작부터 s2에 포함된 문자('H', 'e', 'l', 'o')가 연속으로 등장하는 길이를 계산합니다. 앞의 5개 문자인 "Hello"는 모두 s2에 속하지만, 그 뒤의 'w'는 s2에 포함되지 않으므로 검사가 해당 지점에서 멈추고 결과값 5를 반환하게 됩니다.