C_C++/C_라이브러리_함수

(C언어) memset: 버퍼를 지정된 문자로 초기화한다

고니자니 2023. 2. 22. 11:53
반응형
#include <memory.h>
void *memset(void *s, int c, size_t n);

memset 함수는 버퍼s를 n 바이트 크기만큼 c로 지정된 값으로 설정합니다.

#include <stdio.h>
#include <memory.h>
int main()
{
	char dst[20];

	memset(dst, '*', 19);
	dst[19] = 0;
	printf("%s\n", dst);

	return 0;
}

 

 

다음 예제는 dst를 0(NULL)으로 초기화하고, src로 지정된 문자열을 복사하는 예제입니다.

#include <stdio.h>
#include <memory.h>
#include <string.h>
int main()
{
	char src[] = "Hi, C Language.";
	char dst[20];

	memset(dst, 0, 20);
	memcpy(dst, src, strlen(src));

	printf("%s\n", dst);

	return 0;
}

memset 함수: 버퍼를 지정된 문자로 초기화

 

만약 위에 예제에서   memset 코드 한 줄을 생략하면  다음과 같은 결과를 초래할 수 있습니다.

#include <stdio.h>
#include <memory.h>
#include <string.h>
int main()
{
	char src[] = "Hi, C Language.";
	char dst[20];

	//memset(dst, 0, 20);
	memcpy(dst, src, strlen(src));

	printf("%s\n", dst);

	return 0;
}

memset: 버퍼를 초기화 하지 않았을 때의 결과

 

 

 

반응형