memmove

prototype : void *memmove(void *dst, const void *src, size_t len)

description : memmove() 함수는 src에서 dst로 n개의 바이트를 카피한다. src와 dst는 오버랩될 수 있다. 복사는 비파괴적인 방식으로 진행된다.

t_uchar = unsigned char
-----------------------------------------------------------

memchr

prototype : void *memchr(const void *s, int c, size_t count);

description : memchr()함수는 unsigned char로 변환된 c가, s + 0 ~ s + count - 1 까지 중에서 몇 번째에 있는지 찾는다. 리턴값은 찾은 곳의 바이트를 가리키는 포인터이다. 찾지 못하면 NULL을 반환한다.

t_uchar = unsigned char

-----------------------------------------------------------

memcmp

prototype : int memcmp(const void *s1, const void *s2, size_t n);

description
 - memcmp() 함수는 byte 문자열 s1과 byte 문자열 s2를 비교한다. 
두 개의 문자열은 모두 n바이트임을 가정한다.
 - memcmp() 함수는 두 문자열이 동일할 경우 0을 리턴한다.
 - 그 외에는 처음으로 다른 부분의 ascii 값 차를 반환한다.
 - ex) ascii 200과 0 -> 200 리턴
 - n이 0인 경우 항상 동일하다.

(s1[i] != s2[i] 에서 차를 리턴. 해당사항 없으면 0 리턴)

t_uchar = unsigned char
-----------------------------------------------------------

strchr
strrchr

prototype :
- char *strchr(const char *s, int c);
- char *strrchr(const char *s, int c);

Description
 - strchr() 함수는 s 문자열 내에 처음으로 c와 같은 요소의 위치를 찾는다.
 - null terminating character는 문자열 내의 일부로 인식할 수 있다.
 - 그렇기 때문에 c가 '\0'이면 null terminating되는 부분을 찾는다.

 - strrchr() 함수는 strchr()과 비슷하지만 문자열 내에서 마지막으로 c가 나온 부분의 위치를 찾는다.
 
 - strchr(), strrchr() 모두 문자열 내에서 찾은 c의 위치를 가리키는 포인터를 반환한다. 못 찾으면 NULL.


------------------------------------------------------------
strnstr

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

description :
 - strnstr() 함수는 null-terminating 돼 있는 little 문자열을 big 문자열 안에서 찾는다. 이 때 big도 null-terminated돼 있는 게 전제다.
 - len을 초과하는 문자를 찾지 않는다.
 - '\0' 이후의 문자는 찾지 않는다.

return value :
 - little이 빈 문자열인 경우 big이 리턴된다. 
 - little이 big 안에 없으면 NULL이 리턴된다.
 - 있으면 처음 찾은 little의 시작 주소를 가리키는 포인터가 리턴된다.
 - len이 0이면 NULL리턴

ex)
 다음 예제의 ptr은 "Bar Baz"의 시작 위치 담고 있다.

 const char *largestring = "Foo Bar Baz";
 const char *smallstring = "Bar";
 char *ptr;

 ptr = strstr(largestring, smallstring);

ex2)
 다음 예제의 ptr은 NULL을 가리킨다. 왜냐하면 오직 네 개의 문자만 찾기 때문이다.

 const char *largestring = "Foo Bar Baz";
 const char *smallstring = "Bar";
 char *ptr;

 ptr = strnstr(largestring, smallstring, 4);



  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기
// custom