C strdup() 문자열의 clone 만들기 함수
C언어의 문자열 복사 함수 strdup()는 복사할 문자열 크기에 맞는 메모리를 확보하고 문자열을 복사한 후에 확보한 메모리의 포인터를 반환합니다. 메모리를 생성했으므로 사용 후에는 반드시 free() 함수를 사용해서 메모리를 반환해야 합니다. 즉, strdup()는 malloc()와 strcpy()를 차례로 실행하는 것입니다.
- 헤더: string.h
- 형태: char * strdup( const char *str);
- 인수: char *str 복사할 문자열
- 반환: 확보된 문자열 메모리의 첫 주소를 반환
C언어 strdup() 함수 예제
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main( void)
{
char *ptr;
ptr = strdup( "badayak.com");
printf( "%s\n", ptr);
free( ptr);
return 0;
}
C언어 strdup() 예제 실행 결과
]$ ./a.out
badayak.com
]$
'컴퓨터 > 프로그래밍' 카테고리의 다른 글
C언어 strlen 함수 문자열 길이 구하기 (0) | 2020.03.11 |
---|---|
C언어 strcmp 함수 문자열 비교 (0) | 2020.03.11 |
C언어 strncpy 함수 지정한 개수 만큼 문자열 복사 (8) | 2020.03.10 |