strcasestr(3)

#include <string.h>

char *strcasestr(const char *haystack, const char *needle);

strcasestr(3)함수는 haystack문자열에서 needle문자열과 대소문자 구분없이 일치하는 부분의 시작 위치에 대한 문자열 pointer를 return합니다. 만약 needle의 값이 ""이라면 haystack의 시작 위치에 대한 pointer를 return합니다. haystack문자열에 needle문자열이 포함되어 있지 않으면 NULL을 return합니다.

 

※참고: 이 함수는 건초더미(haystack)에서 바늘(needle)을 찾는 함수입니다. ^^

※주의: 이 함수는 비표준 함수로 LINUX에서는 지원되나 UNIX에서는 지원되지 않는 경우가 많습니다.

 

 

파라미터

haystack
    - needle문자열이 포함되어 있는 지를 검색할 문자열
needle
    - haystack문자열에서 찾을 문자열

 

RETURN

NULL 아님
    - 문자열 haystack에서 needle문자열을 대소문자 구분없이 일치하는 문자열을 찾았을 때, 
      찾은 위치에 대한 문자열 pointer

NULL
    - 문자열 haystack에 문자열 needle이 포함되어 있지 않습니다.

 


활용 예제

 

소스구현(strcasestr 함수가 표준라이브러리로 제공되지 않는 경우)

#include <string.h>

char *strcasestr(const char *haystack, const char *needle)
{
    int size = strlen(needle);

    while(*haystack) {
        if(strncasecmp(haystack, needle, size) == 0) {
            return (char *)haystack;
        }
        haystack++;
    }

    return NULL;
}

 

블로그 이미지

사용자 자연&사람

행복한 개발자 programmer since 1995.

댓글을 달아 주세요