strchr() 함수는 문자열에서 특정문자의 시작 포인터를 알려주는 함수

 

NAME
       strchr, strrchr, strchrnul - locate character in string

SYNOPSIS
       #include <string.h>

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

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

       #define _GNU_SOURCE
       #include <string.h>

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

 

 

의외로 유용하게 쓰일곳이 많을 것 같다.

예제 소스코드를 보면 아래와 같다.

입력하는 문자열은 august wednesday 인데

이중에서 w 문자열을 찾으면 거기의 포인터를 가져온다.

따라서 아래의 코드를 돌려보면 wednesday가 결과로 나옴.

 

 

#include 
#include 

int main()
{
    int delim = 'w';
    char *ret = NULL;
    const char *str = "august wednesday";


    ret = strchr(str, delim);
    if(ret == NULL) {
        printf("No [%c] in string\n", (char)delim);
        return -1;
    }
    else
        printf("Found[%c]\n"
               "Start point==> [%s]\n",
               (char)delim, ret);


    return 0;
}

 

 

이어서 원시코드를 살펴보면

아래와 같다.

출처는 : http://www.koders.com/c/fidD4BECC4286AEE76BCD9BE4C37C3FB8E2A515D529.aspx

#include 

char *
strchr (s, c)
  register const char *s;
  int c;
{
  do {
    if (*s == c)
      {
	return (char*)s;
      }
  } while (*s++);
  return (0);
}

 

반응형

'Language > C' 카테고리의 다른 글

strspn 함수 예제  (3488) 2012.09.20
strcmp 함수 예제  (3161) 2012.08.17
strdup 함수 예제  (476) 2012.08.14
getutxent 함수 예제  (3681) 2012.08.13
strtok 함수 예제  (3377) 2012.08.06

+ Recent posts