Freigeben über


PathCombineA-Funktion (shlwapi.h)

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

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

Syntax

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

Parameter

[out] pszDest

Typ: LPTSTR-

Ein Zeiger auf einen Puffer, der, wenn diese Funktion erfolgreich zurückgegeben wird, die kombinierte Pfadzeichenfolge empfängt. Sie müssen die Größe dieses Puffers auf MAX_PATH festlegen, um sicherzustellen, dass die zurückgegebene Zeichenfolge groß genug ist.

[in, optional] pszDir

Typ: LPCTSTR-

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

[in] pszFile

Typ: LPCTSTR-

Ein Zeiger auf eine null-beendete 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, wenn diese Funktion erfolgreich zurückgegeben wird, die verkettete Pfadzeichenfolge empfängt. Dies ist die gleiche Zeichenfolge, auf die pszPathOutverweist. Wenn diese Funktion nicht erfolgreich zurückgegeben wird, ist dieser Wert NULL-.

Bemerkungen

Der Verzeichnispfad sollte in Form von A:,B:, ..., Z:. Der Dateipfad sollte sich in einer richtigen Form befinden, 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- beide optionale Parameter sind, sie können nicht beide NULL-sein.

Beispiele

#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

Anmerkung

Der Header "shlwapi.h" 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 Code, der nicht codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows 2000 Professional, Windows XP [nur Desktop-Apps]
mindestens unterstützte Server- Windows 2000 Server [nur Desktop-Apps]
Zielplattform- Fenster
Header- shlwapi.h
Library Shlwapi.lib
DLL- Shlwapi.dll (Version 4.71 oder höher)