Exporter (0) Imprimer
Développer tout
and
div
eof
not
or
xor
Développer Réduire
Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source

_splitpath, _wsplitpath

Divise un nom de chemin d'accès en ses composants élémentaires. Des versions plus sécurisées de ces fonctions sont disponibles; consultez _splitpath_s, _wsplitpath_s.

void _splitpath(
   const char *path,
   char *drive,
   char *dir,
   char *fname,
   char *ext 
);
void _wsplitpath(
   const wchar_t *path,
   wchar_t *drive,
   wchar_t *dir,
   wchar_t *fname,
   wchar_t *ext 
);

path

Chemin d'accès complet.

drive

Lettre de lecteur, suivi de deux-points (:). Vous pouvez passer NULL pour ce paramètre si vous n'avez pas besoin de la lettre de lecteur.

dir

Chemin d'accès au répertoire, invluant la barre oblique finale. Les barres obliques ( / ) et/ou les barres obliques inverses ( \ ), peuvent être utilisées. Vous pouvez passer NULL pour ce paramètre si vous n'avez pas besoin du chemin d'accès.

fname

Nom du fichier de base (aucune extension). Vous pouvez renvoyer NULL pour ce paramètre si vous n'avez pas besoin du nom du fichier.

ext

Extension du nom de fichier, y compris le principal point (.). Vous pouvez passer NULL pour ce paramètre si vous n'avez pas besoin de l'extension du nom de fichier.

La fonction _splitpathdivise un chemin d'accès par ses quatre composants. _splitpath gère automatiquement des arguments de chaîne de caractères multi-octets comme appropriés, en identifiant des séquences de caractères multi-octets d'après la page de codes multioctets en cours d'utilisation. _wsplitpath est une version à caractères larges de _splitpath ; les arguments de _wsplitpath sont des chaînes à caractères larges. Ces fonctions se comportent sinon de façon identique.

Note de sécurité    Ces fonctions entraînent un risque potentiel provoqué par un dépassement de mémoire tampon. Les dépassements de mémoire tampon sont une méthode fréquente d'attaque du système, ce qui provoque une élévation des privilèges injustifiée. Pour plus d'informations, consultez Solutions contre les dépassements de mémoire tampon. Des versions plus sécurisées de ces fonctionnalités sont disponibles ; voir le _splitpath_s, _wsplitpath_s.

Mappages de routines de texte générique

Routine TCHAR.H

_UNICODE & _MBCS non définis

_MBCS défini

_UNICODE défini

_tsplitpath

_splitpath

_splitpath

_wsplitpath

Chaque composant du chemin d'accès complet est stockée dans une mémoire tampon distincte ; les constantes explicites _MAX_DRIVE, _MAX_DIR, _MAX_FNAME, et _MAX_EXT(définies dans STDLIB.H) spécifient la taille maximale autorisée pour chaque composant de fichier. Les composants des fichiers qui sont de dimensions supérieures aux constantes explicites correspondantes engendrent la corruption des données des segments de mémoires.

Chaque mémoire tampon doit aussis grande que la constante explicite correspondante pour éviter un dépassement de mémoire tampon potentiel.

Le tableau suivant répertorie les valeurs des constantes explicites.

Nom

Valeur

_MAX_DRIVE

3

_MAX_DIR

256

_MAX_FNAME

256

_MAX_EXT

256

Si le chemin complet ne contient aucun composant (par exemple, un nom de fichier), _splitpath affecte une chaîne vide à la mémoire tampon correspondante.

Vous pouvez passer NULL à _splitpath pour un paramètre autre que path lequel vous n'avez pas besoin.

Si path est NULL, le gestionnaire de paramètres non valides est appelé, comme décrit dans Validation de paramètre. Si l'exécution est autorisée à se poursuivre, errno est défini comme EINVAL et la fonction retourne EINVAL.

Routine

En-tête requis

_splitpath

<stdlib.h>

_wsplitpath

<stdlib.h> ou <wchar.h>

Pour plus d'informations sur la compatibilité, consultez Compatibilité dans l'introduction.

Consultez l'exemple sur _makepath.

Non applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez Exemples d'appel de plateforme.

Ajouts de la communauté

AJOUTER
Microsoft réalise une enquête en ligne pour recueillir votre opinion sur le site Web de MSDN. Si vous choisissez d’y participer, cette enquête en ligne vous sera présentée lorsque vous quitterez le site Web de MSDN.

Si vous souhaitez y participer,
Afficher:
© 2014 Microsoft