Computer >> 컴퓨터 >  >> 프로그래밍 >> C 프로그래밍

C 언어 strcspn() 함수 완벽 가이드: 사용법과 예제

strcspn() 함수란?

C 언어의 strcspn() 함수는 두 문자열을 비교하여, 첫 번째 문자열에서 두 번째 문자열에 포함된 문자가 처음으로 일치하기 전까지의 문자 개수를 계산합니다. 즉, 첫 번째 문자열을 처음부터 훑으며 두 번째 문자열의 어떤 문자와도 일치하지 않는 초기 구간의 길이를 반환합니다.

이 함수는 C 표준 라이브러리의 “string.h” 헤더 파일에 선언되어 있으며, 반환형은 size_t입니다. 만약 일치하는 문자가 하나도 없다면 첫 번째 문자열의 전체 길이를 반환합니다.

함수 구문

size_t strcspn(const char *string1, const char *string2)

각 매개변수의 의미는 다음과 같습니다.

  • string1 − 검색 대상이 되는 첫 번째 문자열입니다.
  • string2 − 첫 번째 문자열에서 일치하는 문자를 찾기 위한 기준이 되는 두 번째 문자열입니다.

예제

다음은 C 언어에서 strcspn() 함수를 사용하는 예제입니다.

#include<stdio.h>
#include<string.h>
int main() {
    char str1[] = "Helloworld!";
    char str2[] = "work";
    int result = strcspn(str1, str2);
    printf("일치하는 문자 앞의 문자 개수 : %d\n", (result+1));
    return 0;
}

실행 결과

일치하는 문자 앞의 문자 개수 : 5

코드 분석

위 프로그램에서는 char 타입 배열 두 개를 선언하고 각각 문자열을 저장합니다. strcspn() 함수는 str1("Helloworld!")을 처음부터 검사하면서 str2("work")에 포함된 문자가 처음 나타나는 위치를 찾습니다. 다섯 번째 문자인 'o'가 str2의 'o'와 일치하므로, 그 앞에 있는 'H', 'e', 'l', 'l' 네 개의 문자가 계산되어 result에는 4가 저장됩니다.

출력 단계에서는 result에 1을 더한 값인 5를 화면에 표시합니다. 이처럼 strcspn()은 문자열 안에서 특정 문자 집합이 처음 등장하는 위치를 파악할 때 매우 유용하며, 입력값 검증이나 토큰 분리 등 다양한 문자열 처리 작업에 활용할 수 있습니다.