Compartir a través de


Función PathCombineW (shlwapi.h)

Concatena dos cadenas que representan rutas de acceso formadas correctamente en una ruta de acceso; también concatena los elementos de ruta de acceso relativos.

Nota El uso incorrecto de esta función puede provocar una saturación del búfer. Se recomienda usar la función PathCchCombine o PathCchCombineEx más segura en su lugar.
 

Sintaxis

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

Parámetros

[out] pszDest

Tipo: LPTSTR

Puntero a un búfer que, cuando esta función devuelve correctamente, recibe la cadena de ruta de acceso combinada. Debe establecer el tamaño de este búfer en MAX_PATH para asegurarse de que es lo suficientemente grande como para contener la cadena devuelta.

[in, optional] pszDir

Tipo: LPCTSTR

Puntero a una cadena terminada en null de longitud máxima MAX_PATH que contiene la primera ruta de acceso. Este valor puede ser NULL.

[in] pszFile

Tipo: LPCTSTR

Puntero a una cadena terminada en null de longitud máxima MAX_PATH que contiene la segunda ruta de acceso. Este valor puede ser NULL.

Valor devuelto

Tipo: LPTSTR

Puntero a un búfer que, cuando esta función devuelve correctamente, recibe la cadena de ruta de acceso concatenada. Esta es la misma cadena a la que apunta pszPathOut. Si esta función no devuelve correctamente, este valor es NULL.

Comentarios

La ruta de acceso del directorio debe estar en forma de A:,B:, ..., Z:. La ruta de acceso del archivo debe tener un formato correcto que represente la parte del nombre de archivo de la ruta de acceso. Si la ruta de acceso del directorio termina con una barra diagonal inversa, se mantendrá la barra diagonal inversa. Tenga en cuenta que, aunque lpszDir y lpszFile son parámetros opcionales, no pueden ser NULL.

Ejemplos

#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:

El encabezado shlwapi.h define PathCombine como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutro de codificación con código que no es neutral de codificación puede provocar discrepancias que dan lugar a errores de compilación o en tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.

Requisitos

   
Cliente mínimo compatible Windows 2000 Professional, Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado shlwapi.h
Library Shlwapi.lib
Archivo DLL Shlwapi.dll (versión 4.71 o posterior)