다음을 통해 공유


PathAddExtensionW 함수(shlwapi.h)

경로 문자열에 파일 이름 확장명을 추가합니다.

참고 이 함수를 잘못 사용하면 버퍼 오버런이 발생할 수 있습니다. 안전한 PathCchAddExtension 함수를 대신 사용하는 것이 좋습니다.
 

구문

BOOL PathAddExtensionW(
  [in, out]      LPWSTR  pszPath,
  [in, optional] LPCWSTR pszExt
);

매개 변수

[in, out] pszPath

형식: LPTSTR

파일 이름 확장명을 추가할 null로 끝나는 문자열이 있는 버퍼에 대한 포인터입니다. 반환된 문자열을 저장할 수 있을 만큼 커지도록 이 버퍼의 크기를 MAX_PATH 설정해야 합니다.

[in, optional] pszExt

형식: LPCTSTR

파일 이름 확장명을 포함하는 null로 끝나는 문자열에 대한 포인터입니다. 이 값은 NULL일 수 있습니다.

반환 값

형식: BOOL

확장이 추가된 경우 TRUE 를 반환하고, 그렇지 않으면 FALSE 를 반환합니다.

설명

파일 이름 확장명 이 이미 있는 경우 확장명은 추가되지 않습니다. pszPathNULL 문자열을 가리키는 경우 결과는 파일 이름 확장명만 됩니다. pszExtensionNULL 문자열을 가리키는 경우 ".exe" 확장이 추가됩니다.

예제

#include <windows.h>
#include <iostream.h>
#include "Shlwapi.h"

void main( void )
{
     // String for path name without file name extension.
     char buffer_1[MAX_PATH] = "file";
     char *lpStr1;
     lpStr1 = buffer_1;

     // String for path name with file name extension.
     char buffer_2[ ] = "file.doc";
     char *lpStr2;
     lpStr2 = buffer_2;

     // String for extension name.
     char F_Ext[MAX_PATH] = ".txt";
     char *lpStr3;
     lpStr3 = F_Ext;

     // Null string as path. 
     char N_String[MAX_PATH] = "\0";
     char *lpStr4;
     lpStr4 = N_String;

     // Path 1 without the file name extension.
     cout << "The original path string 1 is  " << lpStr1 << endl;

     int ret_1 = PathAddExtension(lpStr1,lpStr3);
     cout << "The modified path string 1 is  " << lpStr1 << endl;

    // Path 2 with the file name extension already there.
    cout << "The original path string 2 is  " << lpStr2 << endl;
    int ret_2 = PathAddExtension(lpStr2,lpStr3);
    cout << "The modified path string 2 is  " << lpStr2<< endl;

    // Path 3 null string as a path.
    int ret_3 = PathAddExtension(lpStr4,lpStr3);
    cout << "The return value is " << ret_3<< endl;
    cout << "The modified path on a null string is " << lpStr4<< endl;

}

OUTPUT:
-----------------------
The original path string 1 is  file
The modified path string 1 is  file.txt
The original path string 2 is  file.doc
The modified path string 2 is  file.doc
The return value is 1
The modified path on a null string is .txt
The return value is 1

참고

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

요구 사항

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