Funzione PathCombineW (shlwapi.h)

Concatena due stringhe che rappresentano percorsi formati correttamente in un unico percorso; concatena anche tutti gli elementi di percorso relativi.

Nota L'uso improprio di questa funzione può causare un sovraccarico del buffer. È consigliabile usare la funzione PathCchCombine o PathCchCombineEx più sicura al suo posto.
 

Sintassi

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

Parametri

[out] pszDest

Tipo: LPTSTR

Puntatore a un buffer che, quando questa funzione viene restituita correttamente, riceve la stringa di percorso combinata. È necessario impostare le dimensioni di questo buffer su MAX_PATH per assicurarsi che sia sufficientemente grande da contenere la stringa restituita.

[in, optional] pszDir

Tipo: LPCTSTR

Puntatore a una stringa con terminazione Null di lunghezza massima MAX_PATH che contiene il primo percorso. Questo valore può essere NULL.

[in] pszFile

Tipo: LPCTSTR

Puntatore a una stringa con terminazione Null di lunghezza massima MAX_PATH che contiene il secondo percorso. Questo valore può essere NULL.

Valore restituito

Tipo: LPTSTR

Puntatore a un buffer che, quando questa funzione viene restituita correttamente, riceve la stringa di percorso concatenata. Si tratta della stessa stringa a cui punta pszPathOut. Se questa funzione non restituisce correttamente, questo valore è NULL.

Commenti

Il percorso della directory deve essere nel formato A:,B:, ..., Z:. Il percorso del file deve essere in un formato corretto che rappresenta la parte del nome file del percorso. Se il percorso della directory termina con una barra rovesciata, la barra rovesciata verrà mantenuta. Si noti che, mentre lpszDir e lpszFile sono entrambi parametri facoltativi, non possono entrambi essere NULL.

Esempi

#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

Nota

L'intestazione shlwapi.h definisce PathCombine come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice che non è indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzioni.

Requisiti

   
Client minimo supportato Windows 2000 Professional, Windows XP [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione shlwapi.h
Libreria Shlwapi.lib
DLL Shlwapi.dll (versione 4.71 o successiva)