[42seoul] strchr, strrchr은 어떤 함수일까??

개발하는 곰댕이·2021년 4월 10일
0

42Seoul

목록 보기
24/45
post-thumbnail

include

#include <string.h>
char *strchr(const char *s, int c);
char *strrchr(const char *s, int c);

요소

  • s
    우리가 검사 할 문자열
  • c
    우리가 찾는 문자

1. strchr이란??

문자열 내에 원하는 문자가 있는지 검사하는 함수이다.

첫 번째 매개변수 str의 인덱스를 검사하면서 c가 있는지 확인하고 있다면 해당 포인터를 리턴해주고, 없다면 NULL을 리턴해 준다.

2. 사용 예제


이런 식으로 문자열123456123과 우리가 찾고자 하는 문자 ' 3 '을 보내면 앞에서부터 찾으면서 3번째 인덱스인 3을 찾아서 해당 포인터를 리턴해 주게되고 문자열로 출력해보면 3번째 인덱스인 3부터 "3456123"이 출력이 된다.

위 사진처럼 문자열 "123456123"에 '9'를 찾겠다고 하면 찾을 수 없으니 NULL을 반환한다.

3. strrchr이란??

strchr처럼 문자열 내에 원하는 문자가 있는지 검사하는 함수이다. 다만 문자열의 뒤에서부터 검사를 한다.

첫 번째 매개변수 str의 인덱스를 뒤에서부터 검사하면서 c가 있는지 확인하고 있다면 해당 포인터를 리턴해주고, 없다면 NULL을 리턴해 준다.

이렇게 뒤에서부터 검사를 하기 때문에 뒷쪽에 있는 123이 출력이 된다.

이 녀석도 마찬가지로

문자열에 없는 문자를 찾는다고 하면 NULL을 반환해 준다.

4. 리턴값

찾고자 하는 캐릭터를 찾았다면 해당 캐릭터의 포인터 반환,
만약 못 찾았다면 null반환

0개의 댓글