728x90
반응형
memset 함수의 구현
- 원형은 void *memset(void *b, int c, size_t len);
- memory.h 또는 string.h 모두 이 함수를 포함하고 있다.
- 첫번째 인자는 세팅하고자 하는 메모리의 시작 주소, 두번째 인자는 메모리에 세팅하고자 하는 값, 세번째 인자는 size_t 로 길이를 나타낸다.
- 반환값은 성공하면 첫번째 인자를 반환하고 실패하면 null을 반환한다.
#include <string.h>
void *ft_memset(void *ptr, int value, size_t num)
{
size_t i;
unsigned char *temp;
i = 0;
temp = (unsigned char *)ptr;
while (i < num)
{
temp[i] = (unsigned char)value;
i++;
}
return (ptr);
}
#include <stdio.h>
int main(void)
{
int i;
char str1[] = "testcase";
char str2[] = "testcase";
i = 0;
ft_memset(str1, 'c', 5 * sizeof(char));
while (str1[i] != '\0')
{
printf("%c", str1[i]);
i++;
}
i = 0;
printf("\n");
memset(str2, 'c', 5 * sizeof(char));
while (str2[i] != '\0')
{
printf("%c", str2[i]);
i++;
}
}
728x90
반응형
'C' 카테고리의 다른 글
restrict란? (0) | 2023.10.13 |
---|---|
bzero 함수의 구현 (2) | 2023.10.13 |
char 와 unsigned char 의 차이 (0) | 2023.10.13 |
strlen 함수의 구현 (0) | 2023.10.09 |
isprint 함수의 구현 (0) | 2023.10.09 |