다음을 통해 공유


StrDupA 함수(shlwapi.h)

문자열을 복제합니다.

구문

PSTR StrDupA(
  PCSTR pszSrch
);

매개 변수

pszSrch

형식: PCTSTR

null로 끝나는 상수 문자열에 대한 포인터입니다.

반환 값

형식: PTSTR

복사된 문자열의 주소를 반환하거나 문자열을 복사할 수 없는 경우 NULL 을 반환합니다.

설명

StrDup 은 원래 문자열의 크기를 스토리지에 할당합니다. 스토리지 할당에 성공하면 원본 문자열이 중복 문자열에 복사됩니다.

이 함수는 LocalAlloc 을 사용하여 문자열의 복사본에 대한 스토리지 공간을 할당합니다. 호출 애플리케이션은 StrDup 호출에서 반환된 포인터에서 LocalFree 함수를 호출하여 이 메모리를 해제해야 합니다.

예제

이 간단한 콘솔 애플리케이션은 StrDup의 사용을 보여 줍니다.

#include <windows.h>
#include <shlwapi.h>
#include <stdio.h>

void main(void)
{
   char buffer[] = "This is the buffer text";
   char *newstring;

   // Note: Never use an unbounded %s format specifier in printf.
   printf("Original: %25s\n", buffer);

   newstring = StrDup(buffer);
   if (newstring != NULL)
   {
       printf("Copy:     %25s\n", newstring);
       LocalFree(newstring);
   }
}

OUTPUT:
- - - - - - 
Original: This is the buffer text
Copy:     This is the buffer text

참고

shlwapi.h 헤더는 STRDup을 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입에 대한 규칙을 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional, Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 shlwapi.h
라이브러리 Shlwapi.lib
DLL Shlwapi.dll(버전 4.71 이상)