반응형
사용 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시작점부터 복사해 넣는 기능
→memcpy 설명
-
[ ] memccpy
void *memccpy(void *dest, void *src, int c, size_t len)- memcpy와 거의 유사. src에서 len 만큼 dest에 카피를 하는데 도중 c를 발견하면 거기서 멈춤. 하지만 공간은 memcpy만큼 차지함
- 일반적인 경우
- len의 값이 0으로 주어졌을 경우
-
dest와 src가 ""(null)일 경우 문제가 생기며 작동 안됨
-
memccpy src에 int c 가 없을 경우.
결과값 : (null)
-memcpy와 memmove 의 차이점
[42] C99 restrict 키워드와 memcpy & memmove 함수
-
[ ] memmove
void *memmove(void *dest, void *src, size_t len);-
memcpy와 거의 유사.
-
하지만 overlap 되는 부분에서 차이가 존재한다.
-
[ ]
- len 길이만큼 s에서 확인하다가 c를 만나면 거기부터 return.
-
-
- s1 과 s2를 len만큼 비교하는 함수.
[ ] memcmp
int memcmp(const void *s1, const void *s2, size_t len);
- s1 과 s2를 len만큼 비교하는 함수.
반응형