Bagikan melalui


Fungsi PathCombineA (shlwapi.h)

Menggabungkan dua string yang mewakili jalur yang terbentuk dengan benar ke dalam satu jalur; juga menggabungkan elemen jalur relatif apa pun.

Catatan Penyalahgunaan fungsi ini dapat menyebabkan buffer diserbu. Kami merekomendasikan penggunaan fungsi PathCchCombine atau PathCchCombineEx yang lebih aman di tempatnya.
 

Sintaks

LPSTR PathCombineA(
  [out]          LPSTR  pszDest,
  [in, optional] LPCSTR pszDir,
  [in]           LPCSTR pszFile
);

Parameter

[out] pszDest

Jenis: LPTSTR

Penunjuk ke buffer yang, ketika fungsi ini berhasil dikembalikan, menerima string jalur gabungan. Anda harus mengatur ukuran buffer ini ke MAX_PATH untuk memastikan bahwa ukurannya cukup besar untuk menahan string yang dikembalikan.

[in, optional] pszDir

Jenis: LPCTSTR

Penunjuk ke string yang dihentikan null dengan panjang maksimum MAX_PATH yang berisi jalur pertama. Nilai ini bisa NULL.

[in] pszFile

Jenis: LPCTSTR

Penunjuk ke string yang dihentikan null dengan panjang maksimum MAX_PATH yang berisi jalur kedua. Nilai ini bisa NULL.

Mengembalikan nilai

Jenis: LPTSTR

Penunjuk ke buffer yang, ketika fungsi ini berhasil kembali, menerima string jalur yang digabungkan. Ini adalah string yang sama yang ditujukkan oleh pszPathOut. Jika fungsi ini tidak berhasil dikembalikan, nilai ini adalah NULL.

Keterangan

Jalur direktori harus dalam bentuk A:,B:, ..., Z:. Jalur file harus dalam bentuk yang benar yang mewakili bagian nama file dari jalur. Jika jalur direktori berakhir dengan garis miring terbalik, garis miring terbalik akan dipertahankan. Perhatikan bahwa meskipun lpszDir dan lpszFile keduanya adalah parameter opsional, keduanya tidak boleh NULL.

Contoh

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

void main( void )
{
// Buffer to hold combined path.
char buffer_1[MAX_PATH] = "";
char *lpStr1;
lpStr1 = buffer_1;

// String for balance of path name.
char buffer_2[ ] = "One\\Two\\Three";
char *lpStr2;
lpStr2 = buffer_2;

// String for directory name.
char buffer_3[ ] = "C:";
char *lpStr3;
lpStr3 = buffer_3;

cout << "The file path to be combined is  " 
     << lpStr2 << endl;
cout << "The directory name path is       " 
     << lpStr3 << endl;
cout << "The combined path is             " 
     << PathCombine(lpStr1,lpStr3,lpStr2) << endl;
}

------------
INPUT:
------------
Path for directory part: "C:"
Path for file part: "One\Two\Three"
------------
OUTPUT:
------------
The file path to be combined is  One\Two\Three
The directory name path is       C:
The combined path is             C:\One\Two\Three

Catatan

Header shlwapi.h mendefinisikan PathCombine sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta pra-prosesor UNICODE. Mencampur penggunaan alias encoding-netral dengan kode yang tidak mengodekan-netral dapat menyebabkan ketidakcocokan yang mengakibatkan kesalahan kompilasi atau runtime. Untuk informasi selengkapnya, lihat Konvensi untuk Prototipe Fungsi.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 2000 Professional, Windows XP [hanya aplikasi desktop]
Server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Target Platform Windows
Header shlwapi.h
Pustaka Shlwapi.lib
DLL Shlwapi.dll (versi 4.71 atau yang lebih baru)