C/C Library

strchr

memora 2024. 7. 10. 22:57

Index로 돌아가기

【기  능】 문자열의 선두부터 문자를 검색해서 검색된 위치를 돌려주는 기능

【소  속】 string.h     
           #include <string.h>    

【서  식】 char *strchr(const char *tar, int c);    

【설  명】 문자열 tar의 선두부터 검색해서 문자 c가 발견되었을 경우 그 위치를 돌려준다.
           발견되지 않으면 공백문자(NULL)을 돌려준다.
           공백문자도 검색대상이 되므로 strchr(tar, 0);도 가능하다.

【인  수】      
           tar : 검색대상 문자열
           c : 검색하는 문자

【리턴 값】
           발견된경우 : 문자열 tar의 선두에서 문자 c가 발견된 위치
           발견되지 않은경우 : 공백문자(NULL)


【사용 예】 
#include <stdio.h>
#include <string.h>
#include <stdint.h>

int main()
{
    char tar[] = "ABCDEFG1234abcdefg1234";
    char c1 = '1';
    char c2 = 'B';
    char c3 = 'X';
    char *pRetn;

    printf("tar문자열 = %s\n", tar);
    printf("c1문자 = %c\n", c1);
    printf("c2문자 = %c\n", c2);
    printf("c3문자 = %c\n\n", c3);

    pRetn = strchr(tar, c1);
    printf("%s 문자열에서 문자 %c의 위치는 = %d\n", tar, c1, (pRetn - tar));

    pRetn = strchr(tar, c2);
    printf("%s 문자열에서 문자 %c의 위치는 = %d\n", tar, c2, (pRetn - tar));

    pRetn = strchr(tar, c3);
    if(pRetn != NULL){
        printf("%s 문자열에서 문자 %c의 위치는 = %d\n", tar, c3, (pRetn - tar));
    }
    else{
        printf("%s 문자열에서 문자 %c는 발견되지 않았습니다.\n", tar, c3);
    }

    return 0;
}

【결   과】 
tar문자열 = ABCDEFG1234abcdefg1234
c1문자 = 1
c2문자 = B
c3문자 = X

ABCDEFG1234abcdefg1234 문자열에서 문자 1의 위치는 = 7
ABCDEFG1234abcdefg1234 문자열에서 문자 B의 위치는 = 1
ABCDEFG1234abcdefg1234 문자열에서 문자 X는 발견되지 않았습니다.

Index로 돌아가기

반응형