반응형
#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;
}
반응형
'C_C++ > C_라이브러리_함수' 카테고리의 다른 글
(C언어) strncat: 문자열을 일부를 다른 문자열에 추가한다 (0) | 2023.03.02 |
---|---|
(C언어) strlen: 문자열 길이를 구한다 (0) | 2023.03.02 |
(C언어) _strdate, _strtime: 현재 날짜와 시간을 문자열로 변환한다 (0) | 2023.03.01 |
(C언어) strcpy, strcpy_s: 문자열을 복사한다 (0) | 2023.03.01 |
(C언어) strcmp, strcmpi: 두 문자열 (대소문자 구별 없이) 비교하기 (0) | 2023.02.28 |