Funzione PathAddExtensionW (shlwapi.h)

Aggiunge un'estensione di nome file a una stringa di percorso.

Nota L'uso improprio di questa funzione può causare un sovraccarico del buffer. È consigliabile usare la funzione PathCchAddExtension più sicura al suo posto.
 

Sintassi

BOOL PathAddExtensionW(
  [in, out]      LPWSTR  pszPath,
  [in, optional] LPCWSTR pszExt
);

Parametri

[in, out] pszPath

Tipo: LPTSTR

Puntatore a un buffer con la stringa con terminazione Null a cui verrà aggiunta l'estensione del nome file. È necessario impostare le dimensioni di questo buffer su MAX_PATH per assicurarsi che sia sufficientemente grande da contenere la stringa restituita.

[in, optional] pszExt

Tipo: LPCTSTR

Puntatore a una stringa con terminazione Null contenente l'estensione del nome file. Questo valore può essere NULL.

Valore restituito

Tipo: BOOL

Restituisce TRUE se è stata aggiunta un'estensione o FALSE in caso contrario.

Commenti

Se è già presente un'estensione di file, non verrà aggiunta alcuna estensione. Se pszPath punta a una stringa NULL , il risultato sarà solo l'estensione del nome file. Se pszExtension punta a una stringa NULL , verrà aggiunta un'estensione ".exe".

Esempi

#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

L'intestazione shlwapi.h definisce PathAddExtension come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice che non è indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzioni.

Requisiti

   
Client minimo supportato Windows 2000 Professional, Windows XP [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione shlwapi.h
Libreria Shlwapi.lib
DLL Shlwapi.dll (versione 4.71 o successiva)