PathAddExtensionA, fonction (shlwapi.h)
Ajoute une extension de nom de fichier à une chaîne de chemin d’accès.
Syntaxe
BOOL PathAddExtensionA(
[in, out] LPSTR pszPath,
[in, optional] LPCSTR pszExt
);
Paramètres
[in, out] pszPath
Type : LPTSTR
Pointeur vers une mémoire tampon avec la chaîne terminée par null à laquelle l’extension de nom de fichier sera ajoutée. Vous devez définir la taille de cette mémoire tampon sur MAX_PATH pour vous assurer qu’elle est suffisamment grande pour contenir la chaîne retournée.
[in, optional] pszExt
Type : LPCTSTR
Pointeur vers une chaîne terminée par null qui contient l’extension de nom de fichier. Cette valeur peut être NULL.
Valeur retournée
Type : BOOL
Retourne TRUE si une extension a été ajoutée, ou FALSE dans le cas contraire.
Remarques
Si une extension de nom de fichier est déjà présente, aucune extension n’est ajoutée. Si pszPath pointe vers une chaîne NULL , le résultat est l’extension de nom de fichier uniquement. Si pszExtension pointe vers une chaîne NULL , une extension « .exe » est ajoutée.
Exemples
#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
Notes
L’en-tête shlwapi.h définit PathAddExtension comme alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. La combinaison de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.
Configuration requise
Client minimal pris en charge | Windows 2000 Professionnel, Windows XP [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows 2000 Server [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | shlwapi.h |
Bibliothèque | Shlwapi.lib |
DLL | Shlwapi.dll (version 4.71 ou ultérieure) |