PathAppendA 函式 (shlwapi.h)
將一個路徑附加至另一個路徑的結尾。
注意 誤用此函式可能會導致緩衝區溢出。 我們建議在其位置使用更安全 的PathCchAppend 或 PathCchAppendEx函 式。
語法
BOOL PathAppendA(
[in, out] LPSTR pszPath,
[in] LPCSTR pszMore
);
參數
[in, out] pszPath
類型: LPTSTR
附加 pszMore 中所指定路徑的 Null 終止字串指標。 您必須將此緩衝區的大小設定為MAX_PATH,以確保它夠大,足以保存傳回的字串。
[in] pszMore
類型: LPCTSTR
長度上限之 null 終止字串的指標,MAX_PATH包含要附加的路徑。
傳回值
類型: BOOL
如果成功,則傳回 TRUE ,否則傳回 FALSE 。
備註
如果其中一個字串不存在,此函式會自動在兩個字串之間插入反斜杠。
pszPath 中提供的路徑不能以 “.. 開頭。\“ 或 ”.\“ 以產生相對路徑字串。 如果有的話,這些句號會從輸出字串中移除。 例如,將 “path3” 附加至 “.。\path1\path2“ 會產生 ”\path1\path2\path3“ 而不是 ”.. 的輸出。\path1\path2\path3”。
範例
#include <windows.h>
#include <iostream>
#include "Shlwapi.h"
using namespace std;
int main( void )
{
// String for path name.
char buffer_1[MAX_PATH] = "name_1\\name_2";
char *lpStr1;
lpStr1 = buffer_1;
// String of what is being added.
char buffer_2[ ] = "name_3";
char *lpStr2;
lpStr2 = buffer_2;
cout << "The original path string is " << lpStr1 << endl;
cout << "The part to append to end is " << lpStr2 << endl;
bool ret = PathAppend(lpStr1,lpStr2);
cout << "The appended path string is " << lpStr1 << endl;
}
OUTPUT:
---------
The original path string is name_1\name_2
The part to append to end is name_3
The appended path string is name_1\name_2\name_3
注意
shlwapi.h 標頭會將PathAppend定義為別名,根據UNICODE預處理器常數的定義,自動選取此函式的ANSI或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 Professional、Windows XP [僅限桌面應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | shlwapi.h |
程式庫 | Shlwapi.lib |
Dll | Shlwapi.dll (4.71 版或更新版本) |