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.
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) |