-
strdup()Visual Studio/C 기초 2013. 6. 17. 15:41
strdup() 함수는 malloc() 함수를 호출하여 새로 복사될 문자열을 저장하기 위한 메모리 영역을 자동으로 할당하는 것을 제외하면 strcpy()와 기능은 같습니다.
실제로 malloc() 함수를 호출하여 메모리 영역을 할당하고 나서 strcpy() 함수를 호출합니다.
malloc()에 의해 할당된 영역에 대한 포인터이거나 메모리를 할당할 수 없다면 NULL값이 됩니다. 참고로 strdup() 함수는 ANSI 표준 함수가 아니라 마이크로소프트, Borland 등등의 기본적인 프로그램에 포함되어 있지만 일부 컴파일러에선 제공되지 않을 수 있습니다.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>main(){
char name[80];
char *dest;
puts("복사할 문장을 입력해주세요 :");
gets(name);
if((dest = strdup(name))==NULL)
{
fprintf(stderr,"메모리를 할당하는 데 실패했습니다.\n");
exit(1);
}
printf("복사 확인 : %s\n",dest);free(dest);
}'Visual Studio > C 기초' 카테고리의 다른 글
strncat() (0) 2013.06.17 C언어 문자열 결합 [strcat()] (0) 2013.06.17 strncpy() (0) 2013.06.15 C언어 문자열 복사 [strcpy()] (0) 2013.06.15 C언어 문자열 길이 계산 [strlen()] (2) 2013.06.15