Dia Egg - Shugo Chara

C

memset 함수의 구현

별ㅇI 2023. 10. 13. 15:53
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