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

(C언어) strdup, _strdup: 문자열을 복제한다

고니자니 2023. 3. 1. 11:20
반응형
#include <string.h>
char *strdup(const char *str);

strdup 함수는 malloc 함수를 호출하여 필요한 메모리를 확보한 후 문자열 str를 새 영역에 복제합니다.

할당된 메모리의 크기는 strlen(str) + 1 바이트이며, strdup 함수에 의해 할당된 메모리는 사용자가 직접 해제하여야 합니다.

복제된 문자열을 지시하면 포인터를 반환합니다. 필요한 메모리를 할당받지 못했을 경우에는 NULL을 반환합니다.

 

비주얼스튜디어에서는 strdup 함수 대신에 _strdup 함수를 사용해야 합니다.

 

참고: free

 

#include <stdio.h>
#include <string.h>
#include <malloc.h>

int main()
{
	char *string="I will do my best.";
	char *dup;
	
    //dup = strdup(string);
	dup = _strdup(string);

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

	free(dup);

	return 0;
}

strdup: 문자열 복제

 

 

728x90
반응형