共用方式為


PathAddExtensionA 函式 (shlwapi.h)

將擴展名新增至路徑字串。

注意 誤用此函式可能會導致緩衝區滿溢。 我們建議使用更安全 PathCchAddExtension 函式。
 

語法

BOOL PathAddExtensionA(
  [in, out]      LPSTR  pszPath,
  [in, optional] LPCSTR pszExt
);

參數

[in, out] pszPath

類型:LPTSTR

具有要附加擴展名為 Null 之字串之緩衝區的指標。 您必須將此緩衝區的大小設定為 MAX_PATH,以確保大小足以保存傳回的字串。

[in, optional] pszExt

類型:LPCTSTR

包含擴展名之 Null 終止字串的指標。 這個值可以 NULL

傳回值

類型:BOOL

如果已新增擴充功能,則傳回 true TRUE,否則會 傳回 FALSE

言論

如果已經有擴展名,則不會新增擴展名。 如果 pszPath 指向 NULL 字串,則結果只會是擴展名。 如果 pszExtension 指向 NULL 字串,則會新增 “.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 標頭會根據 UNICODE 預處理器常數的定義,將 PathAddExtension 定義為自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型的 慣例。

要求

要求 價值
最低支援的用戶端 Windows 2000 Professional、Windows XP [僅限傳統型應用程式]
支援的最低伺服器 Windows 2000 Server [僅限傳統型應用程式]
目標平臺 窗戶
標頭 shlwapi.h
連結庫 Shlwapi.lib
DLL Shlwapi.dll (4.71 版或更新版本)