Função PathCombineW (shlwapi.h)

Concatena duas cadeias de caracteres que representam caminhos devidamente formados em um caminho; também concatena todos os elementos de caminho relativo.

Nota O uso indevido dessa função pode levar a uma sobrecarga de buffer. Recomendamos o uso da função PathCchCombine ou PathCchCombineEx mais segura em seu lugar.
 

Sintaxe

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

Parâmetros

[out] pszDest

Tipo: LPTSTR

Um ponteiro para um buffer que, quando essa função retorna com êxito, recebe a cadeia de caracteres de caminho combinada. Você deve definir o tamanho desse buffer como MAX_PATH para garantir que ele seja grande o suficiente para manter a cadeia de caracteres retornada.

[in, optional] pszDir

Tipo: LPCTSTR

Um ponteiro para uma cadeia de caracteres terminada em nulo de comprimento máximo MAX_PATH que contém o primeiro caminho. Esse valor pode ser NULL.

[in] pszFile

Tipo: LPCTSTR

Um ponteiro para uma cadeia de caracteres terminada em nulo de comprimento máximo MAX_PATH que contém o segundo caminho. Esse valor pode ser NULL.

Valor retornado

Tipo: LPTSTR

Um ponteiro para um buffer que, quando essa função retorna com êxito, recebe a cadeia de caracteres de caminho concatenada. Essa é a mesma cadeia de caracteres apontada por pszPathOut. Se essa função não retornar com êxito, esse valor será NULL.

Comentários

O caminho do diretório deve estar na forma de A:,B:, ..., Z:. O caminho do arquivo deve estar em uma forma correta que represente a parte do nome do arquivo do caminho. Se o caminho do diretório terminar com uma barra invertida, a barra invertida será mantida. Observe que, embora lpszDir e lpszFile sejam parâmetros opcionais, ambos não podem ser NULL.

Exemplos

#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

Observação

O cabeçalho shlwapi.h define PathCombine como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.

Requisitos

   
Cliente mínimo com suporte Windows 2000 Professional, Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho shlwapi.h
Biblioteca Shlwapi.lib
DLL Shlwapi.dll (versão 4.71 ou posterior)