본문 바로가기

개발(2020~/functions

mem 시리즈

반응형

사용 header


#include <string.h>

그 중 몇 개와 설명


  • [ ] memset

    void *memset(void *b, int c, size_t len);
    • 스트링인 b에 len 길이만큼 c(printable)를 덮어쓴다..

    ex )

    str = "YELLOW";

    c = 'h';

    len = 3;

    결과 → hhhLOW

  • [ ] memcpy

    void *memcpy(void *restrict dest, const void *restrict src, size_t len);
    • src에서 len만큼 dest시작점부터 복사해 넣는 기능

    C 언어 코딩 도장

    →memcpy 설명

  • [ ] memccpy

    void *memccpy(void *dest, void *src, int c, size_t len)
    • memcpy와 거의 유사. src에서 len 만큼 dest에 카피를 하는데 도중 c를 발견하면 거기서 멈춤. 하지만 공간은 memcpy만큼 차지함
    1. 일반적인 경우

     

    1. len의 값이 0으로 주어졌을 경우

     

    1. dest와 src가 ""(null)일 경우 문제가 생기며 작동 안됨

    2. memccpy src에 int c 가 없을 경우.

    결과값 : (null)

-memcpy와 memmove 의 차이점

[42] C99 restrict 키워드와 memcpy & memmove 함수

  • [ ] memmove

    void *memmove(void *dest, void *src, size_t len);
    • memcpy와 거의 유사.

    • 하지만 overlap 되는 부분에서 차이가 존재한다.

    • [ ]

    void *memchr(const void *s, int c, size_t len);
    • len 길이만큼 s에서 확인하다가 c를 만나면 거기부터 return.
    • s1 과 s2를 len만큼 비교하는 함수.

      [ ] memcmp

      int memcmp(const void *s1, const void *s2, size_t len);
반응형

'개발(2020~ > functions' 카테고리의 다른 글

is시리즈  (0) 2020.12.22