Partager via


PathCombineA, fonction (shlwapi.h)

Concatène deux chaînes qui représentent des chemins correctement formés en un seul chemin ; concatène également tous les éléments de chemin d’accès relatifs.

Remarque Utilisation incorrecte de cette fonction peut entraîner un dépassement de mémoire tampon. Nous vous recommandons d’utiliser la fonction PathCchCombine ou PathCchCombineEx à sa place.
 

Syntaxe

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

Paramètres

[out] pszDest

Type : LPTSTR

Pointeur vers une mémoire tampon qui, lorsque cette fonction retourne correctement, reçoit la chaîne de chemin d’accès combinée. Vous devez définir la taille de cette mémoire tampon sur MAX_PATH pour vous assurer qu’elle est suffisamment grande pour contenir la chaîne retournée.

[in, optional] pszDir

Type : LPCTSTR

Pointeur vers une chaîne terminée par null de longueur maximale MAX_PATH qui contient le premier chemin d’accès. Cette valeur peut être NULL.

[in] pszFile

Type : LPCTSTR

Pointeur vers une chaîne terminée par null de longueur maximale MAX_PATH qui contient le deuxième chemin d’accès. Cette valeur peut être NULL.

Valeur de retour

Type : LPTSTR

Pointeur vers une mémoire tampon qui, lorsque cette fonction retourne correctement, reçoit la chaîne de chemin concaténée. Il s’agit de la même chaîne pointée par pszPathOut. Si cette fonction ne retourne pas correctement, cette valeur est NULL.

Remarques

Le chemin d’accès au répertoire doit être au format A :,B :, ..., Z :. Le chemin d’accès au fichier doit se trouver dans un formulaire correct qui représente la partie du nom de fichier du chemin d’accès. Si le chemin d’accès au répertoire se termine par une barre oblique inverse, la barre oblique inverse est conservée. Notez que si lpszDir et lpszFile sont tous deux des paramètres facultatifs, ils ne peuvent pas tous les deux être NULL.

Exemples

#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

Note

L’en-tête shlwapi.h définit PathCombine comme alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. Le mélange de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.

Exigences

Exigence Valeur
client minimum pris en charge Windows 2000 Professionnel, Windows XP [applications de bureau uniquement]
serveur minimum pris en charge Windows 2000 Server [applications de bureau uniquement]
plateforme cible Windows
d’en-tête shlwapi.h
bibliothèque Shlwapi.lib
DLL Shlwapi.dll (version 4.71 ou ultérieure)