[function] strstr(), strnstr()

duckkuri·2020년 10월 7일
0

libc_functions

목록 보기
12/22

[function] strstr(),strnstr()

라이브러리 : libc

헤더 : string.h

  • 문자열 내에서 부분문자열을 탐색하는 함수
  • strstr()함수는 NULL-종료 전 까지의 big 문자열 내에서 NULL-종료 전 까지의 litte 문자열을 찾아서 첫번째로 나온 결과를 탐색한다.
  • strnstr() 함수는 종료전까지의 문자들 중 big 문자열 내에서 찾은 little 문자열 중 첫번째로 나온 결과를 찾는다. 문자열은 최대 len의 수까지만 탐색한다.
  • 문자열들은 \0을 만나면 더이상 찾지 않는다.

형식

strstr(const char * big, const char *little);
strnstr(const char * big, const char *little, size_t len);

const char big : 큰 문자열, 탐색할 전체 문자열
const char
little : 작은 문자열, 추출해낼 부분 문자열
size_t len : big 문자열 내에서 탐색할 최대 범위

리턴값

char * 형 데이터로 리턴
  • little 문자열이 비어있을 경우, big 문자열을 리턴한다.
  • little 문자열이 big 문자열 내에 없는 경우 NULL을 리턴한다.
  • 위의 경우들이 아니라면, litte문자열을 찾은 문자열중 첫글자를 가리키는 포인터를 리턴한다.

사용 예제

char big[] = "go go yogurt";
char little[] = "gu";
printf("return(gurt) : %s\n", strnstr(big,little,14));	// return(gurt) : gurt
printf("return(null) : %s\n", strnstr(big,little,9));	//return(null) : null

참고 링크
https://www.freebsd.org/cgi/man.cgi?query=index&sektion=3&apropos=0&manpath=fre

profile
😤 Today I Learned

2개의 댓글

comment-user-thumbnail
2022년 3월 10일

궁금한게 있습니다 litte 문자열을 찾은 문자열중 첫글자를 가리키는 포인터를 리턴한다. 라는거는 little 에 첫 글자랑 big 이랑 같은 거중 마즈막으로 같게 찾은 big에주소를 반환하는 건가요?

1개의 답글