strchr(3)

#include <string.h>

char *strchr(const char *s, int c);

strchr(3)은 문자열 s에서 문자 c를 처음 만난 곳의 문자열 pointer를 return합니다. 만약, 문자열 s에 문자 c가 포함되어 있지않는다면 NULL을 return 합니다.

 

문자 c는 int type이지만 하위 1바이트만 유효합니다.

 

 

파라미터

s
    - 문자 c가 포함되었는 지를 찾을 문자열
c
    - 찾으려는 문자
    - c는 int type이지만 (unsigned char)c 로 type casting한 것과 같이 하위 1바이트만 유효합니다.

 

RETURN

NULL 아님
    - 문자열 s의 앞에서 부터 문자 c를 검색할 때에 처음으로 만난 곳에 대한 pointer를 return 합니다.

NULL
    - 문자열 s에 문자 c가 포함되어 있지 않습니다.

 


활용 예제

 

#include <stdio.h>
#include <string.h>

int main(int argc, char **argv)
{
    char data[10] = "123-123";
    char removed_dash[10];
    char *ptr;
    int  pos;

    if((ptr = strchr(data, '-')) == NULL) {
        strcpy(removed_dash, data);
    } else {
        pos = ptr - data;
        strncpy(removed_dash, data, pos);
        strcpy(&removed_dash[pos], ptr + 1);
    }

    printf("data: %s\n", data);
    printf("removed_dash: %s\n", removed_dash);

    return 0;
}



결과:
data: 123-123
removed_dash: 123123

 

블로그 이미지

사용자 자연&사람

행복한 개발자 programmer since 1995.

댓글을 달아 주세요