Compartir a través de


Función PathAddExtensionA (shlwapi.h)

Agrega una extensión de nombre de archivo a una cadena de ruta de acceso.

Nota Uso incorrecto de esta función puede provocar una saturación del búfer. Se recomienda usar la función pathCchAddExtension más segura en su lugar.
 

Sintaxis

BOOL PathAddExtensionA(
  [in, out]      LPSTR  pszPath,
  [in, optional] LPCSTR pszExt
);

Parámetros

[in, out] pszPath

Tipo: LPTSTR de

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 de

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 de

Devuelve TRUE si se ha agregado una extensión o FALSE de lo contrario.

Observaciones

Si ya hay una extensión de nombre de archivo presente, no se agregará ninguna extensión. Si el pszPath apunta a una cadena NULL de , el resultado será solo la extensión de nombre de archivo. Si pszExtension apunta a una cadena de 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 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)