Condividi tramite


Funzione PathAddExtensionA (shlwapi.h)

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

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

Sintassi

BOOL PathAddExtensionA(
  [in, out]      LPSTR  pszPath,
  [in, optional] LPCSTR 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.

Osservazioni

Se è già presente un'estensione di file, non verrà aggiunta alcuna estensione. Se il 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 non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.

Fabbisogno

Requisito Valore
client minimo supportato Windows 2000 Professional, Windows XP [solo app desktop]
server minimo supportato Windows 2000 Server [solo app desktop]
piattaforma di destinazione Finestre
intestazione shlwapi.h
libreria Shlwapi.lib
dll Shlwapi.dll (versione 4.71 o successiva)