Compartir a través de


Función PathCombineA (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 Uso incorrecto de esta función puede provocar una saturación del búfer. Se recomienda el uso de la función PathCchCombine o pathCchCombineEx más segura en su lugar.
 

Sintaxis

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

Parámetros

[out] pszDest

Tipo: LPTSTR de

Puntero a un búfer que, cuando esta función vuelve 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 de

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 de

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 de

Puntero a un búfer que, cuando esta función vuelve 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.

Observaciones

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, ambos no pueden ser NULL.

Ejemplos

#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

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 neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Conventions for Function Prototypes.

Requisitos

Requisito Valor
cliente mínimo admitido Windows 2000 Professional, Windows XP [solo aplicaciones de escritorio]
servidor mínimo admitido Windows 2000 Server [solo aplicaciones de escritorio]
de la plataforma de destino de Windows
encabezado de shlwapi.h
biblioteca de Shlwapi.lib
DLL de Shlwapi.dll (versión 4.71 o posterior)