Share via


PathCombineW-Funktion (shlwapi.h)

Verkettet zwei Zeichenfolgen, die ordnungsgemäß formatierte Pfade darstellen, zu einem Pfad; verkettet auch alle relativen Pfadelemente.

Hinweis Ein Missbrauch dieser Funktion kann zu einem Pufferüberlauf führen. Wir empfehlen die Verwendung der sichereren PathCchCombine - oder PathCchCombineEx-Funktion an ihrer Stelle.
 

Syntax

LPWSTR PathCombineW(
  [out]          LPWSTR  pszDest,
  [in, optional] LPCWSTR pszDir,
  [in]           LPCWSTR pszFile
);

Parameter

[out] pszDest

Typ: LPTSTR

Ein Zeiger auf einen Puffer, der bei erfolgreicher Rückgabe dieser Funktion die kombinierte Pfadzeichenfolge empfängt. Sie müssen die Größe dieses Puffers auf MAX_PATH festlegen, um sicherzustellen, dass er groß genug ist, um die zurückgegebene Zeichenfolge zu enthalten.

[in, optional] pszDir

Typ: LPCTSTR

Ein Zeiger auf eine NULL-Zeichenfolge mit maximaler Länge MAX_PATH, die den ersten Pfad enthält. Dieser Wert kann NULL sein.

[in] pszFile

Typ: LPCTSTR

Ein Zeiger auf eine NULL-Zeichenfolge mit maximaler Länge MAX_PATH, die den zweiten Pfad enthält. Dieser Wert kann NULL sein.

Rückgabewert

Typ: LPTSTR

Ein Zeiger auf einen Puffer, der bei erfolgreicher Rückgabe dieser Funktion die verkettete Pfadzeichenfolge empfängt. Dies ist dieselbe Zeichenfolge, auf die von pszPathOut verwiesen wird. Wenn diese Funktion nicht erfolgreich zurückgegeben wird, ist dieser Wert NULL.

Hinweise

Der Verzeichnispfad sollte die Form A:,B:, ..., Z:haben. Der Dateipfad sollte in einer korrekten Form vorliegen, die den Dateinamenteil des Pfads darstellt. Wenn der Verzeichnispfad mit einem umgekehrten Schrägstrich endet, wird der umgekehrte Schrägstrich beibehalten. Beachten Sie, dass lpszDir und lpszFile zwar beide optionale Parameter sind, aber nicht beide NULL sein können.

Beispiele

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

int 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

Hinweis

Der shlwapi.h-Header definiert PathCombine als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit nicht codierungsneutralem Code kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 2000 Professional, Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile shlwapi.h
Bibliothek Shlwapi.lib
DLL Shlwapi.dll (Version 4.71 oder höher)