Libft(13) - strnstr
2021. 6. 26. 18:15ㆍ42seoul/42 Cursus
Libft(13) - strnstr
STRSTR(3) BSD Library Functions Manual STRSTR(3)
NAME
strstr, strcasestr, strnstr -- locate a substring in a string
LIBRARY
Standard C Library (libc, -lc)
SYNOPSIS
#include <string.h>
char *
strstr(const char *haystack, const char *needle);
char *
strcasestr(const char *haystack, const char *needle);
char *
strnstr(const char *haystack, const char *needle, size_t len);
#include <string.h>
#include <xlocale.h>
char *
strcasestr_l(const char *haystack, const char *needle, locale_t loc);
DESCRIPTION
The strstr() function locates the first occurrence of the null-terminated string needle in
the null-terminated string haystack.
The strcasestr() function is similar to strstr(), but ignores the case of both strings.
The strnstr() function locates the first occurrence of the null-terminated string needle
in the string haystack, where not more than len characters are searched. Characters that
appear after a `\0' character are not searched. Since the strnstr() function is a FreeBSD
specific API, it should only be used when portability is not a concern.
While the strcasestr() function uses the current locale, the strcasestr_l() function may
be passed a locale directly. See xlocale(3) for more information.
RETURN VALUES
If needle is an empty string, haystack is returned; if needle occurs nowhere in haystack,
NULL is returned; otherwise a pointer to the first character of the first occurrence of
needle is returned.
EXAMPLES
The following sets the pointer ptr to the "Bar Baz" portion of largestring:
const char *largestring = "Foo Bar Baz";
const char *smallstring = "Bar";
char *ptr;
ptr = strstr(largestring, smallstring);
The following sets the pointer ptr to NULL, because only the first 4 characters of
largestring are searched:
const char *largestring = "Foo Bar Baz";
const char *smallstring = "Bar";
char *ptr;
ptr = strnstr(largestring, smallstring, 4);
SEE ALSO
memchr(3), memmem(3), strchr(3), strcspn(3), strpbrk(3), strrchr(3), strsep(3), strspn(3),
strtok(3), wcsstr(3), xlocale(3)
STANDARDS
The strstr() function conforms to ISO/IEC 9899:1990 (``ISO C90'').
BSD October 11, 2001 BSD
- 널 종료된 문자열 haystack 에서 널 종료된 문자열 needle을 검색해서 haystack 내에서 needle의 처음 주소를 리턴하는데 len 개까지만 검색함.
- '\0' 이후 문자열은 검색하지 않음.
- FreeBSD의 특정 API이므로, 이식성이 고려되지 않을 때만 사용해야 함. (FreeBSD에서만 사용되는 것이라 그런 것 같음.)
기본 함수 구조 및 매개변수
#include <string.h>
char *
strnstr(const char *haystack, const char *needle, size_t len);
- haystack: needle이 있는지 검색되어질 문자열(건초더미)
- needle: 존재하는지 검색할 문자열(바늘)
- len: 검색할 길이
리턴값:
- needle이 빈 문자열일 때, haystack 리턴
- needle이 haystack에 없을 때, NULL 리턴
- 그 외에는, needle이 처음 발견된 위치의 needle의 첫 문자의 주소 리턴
'42seoul > 42 Cursus' 카테고리의 다른 글
Libft(15) - atoi (0) | 2021.06.26 |
---|---|
Libft(14) - strncmp (0) | 2021.06.26 |
Libft(12) - strrchr (0) | 2021.06.26 |
Libft(11) - strchr (0) | 2021.06.26 |
Libft(10) - strlcat (0) | 2021.06.26 |