Función PathAddExtensionW (shlwapi.h)
Agrega una extensión de nombre de archivo a una cadena de ruta de acceso.
Sintaxis
BOOL PathAddExtensionW(
[in, out] LPWSTR pszPath,
[in, optional] LPCWSTR pszExt
);
Parámetros
[in, out] pszPath
Tipo: LPTSTR
Puntero a un búfer con la cadena terminada en null a la que se anexará la extensión de nombre de archivo. 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] pszExt
Tipo: LPCTSTR
Puntero a una cadena terminada en null que contiene la extensión de nombre de archivo. Este valor puede ser NULL.
Valor devuelto
Tipo: BOOL
Devuelve TRUE si se agregó una extensión o FALSE en caso contrario.
Comentarios
Si ya hay una extensión de nombre de archivo presente, no se agregará ninguna extensión. Si pszPath apunta a una cadena NULL , el resultado será solo la extensión de nombre de archivo. Si pszExtension apunta a una cadena NULL , se agregará una extensión ".exe".
Ejemplos
#include <windows.h>
#include <iostream.h>
#include "Shlwapi.h"
void main( void )
{
// String for path name without file name extension.
char buffer_1[MAX_PATH] = "file";
char *lpStr1;
lpStr1 = buffer_1;
// String for path name with file name extension.
char buffer_2[ ] = "file.doc";
char *lpStr2;
lpStr2 = buffer_2;
// String for extension name.
char F_Ext[MAX_PATH] = ".txt";
char *lpStr3;
lpStr3 = F_Ext;
// Null string as path.
char N_String[MAX_PATH] = "\0";
char *lpStr4;
lpStr4 = N_String;
// Path 1 without the file name extension.
cout << "The original path string 1 is " << lpStr1 << endl;
int ret_1 = PathAddExtension(lpStr1,lpStr3);
cout << "The modified path string 1 is " << lpStr1 << endl;
// Path 2 with the file name extension already there.
cout << "The original path string 2 is " << lpStr2 << endl;
int ret_2 = PathAddExtension(lpStr2,lpStr3);
cout << "The modified path string 2 is " << lpStr2<< endl;
// Path 3 null string as a path.
int ret_3 = PathAddExtension(lpStr4,lpStr3);
cout << "The return value is " << ret_3<< endl;
cout << "The modified path on a null string is " << lpStr4<< endl;
}
OUTPUT:
-----------------------
The original path string 1 is file
The modified path string 1 is file.txt
The original path string 2 is file.doc
The modified path string 2 is file.doc
The return value is 1
The modified path on a null string is .txt
The return value is 1
Nota:
El encabezado shlwapi.h define PathAddExtension 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) |