Partager via


_fullpath, _wfullpath

Crée un absolu ou un chemin d'accès complet pour le nom du chemin d'accès relatif spécifié.

char *_fullpath( 
   char *absPath,
   const char *relPath,
   size_t maxLength 
);
wchar_t *_wfullpath( 
   wchar_t *absPath,
   const wchar_t *relPath,
   size_t maxLength 
);

Paramètres

  • absPath
    Pointeur vers une mémoire tampon comprenant absolu ou le chemin d'accès complet, ou NULL.

  • relPath
    Nom du chemin d'accès relatif.

  • maxLength
    longueur maximale de la mémoire tampon de chemin d'accès absolu (absPath).Cette longueur est en octets pour _fullpath mais caractères larges (wchar_t) pour _wfullpath.

Valeur de retour

Chacune de ces fonctions retourne un pointeur vers une mémoire tampon qui contient le chemin d'accès absolu (absPath).S'il y a une erreur (par exemple, si la valeur passée dans relPath inclut une lettre de lecteur qui n'est pas valide ou est introuvable, ou si la longueur du chemin d'accès absolu créé (absPath) est supérieure à maxLength), la fonction retourne NULL.

Notes

La fonction d' _fullpath développe le nom de chemin d'accès relatif dans relPath à son qualifié complet ou chemin d'accès absolu et enregistre ce nom dans absPath*.* Si absPath est NULL, malloc est utilisé pour allouer une mémoire tampon de longueur suffisante pour contenir le nom du chemin d'accès.Il revient à l'appelant de libérer cette mémoire tampon.un nom de chemin d'accès relatif spécifie un chemin d'accès à un autre emplacement de la position actuelle (telle que le répertoire de travail actuel : « .").Un chemin d'accès absolu est l'expansion d'un nom de chemin d'accès relatif qui indique le chemin d'accès complet requis pour atteindre l'emplacement souhaité de la racine du système de fichiers.Contrairement à _makepath, _fullpath peut être utilisé pour obtenir le chemin d'accès absolu pour les chemins d'accès relatif (relPath) qui incluent « . / » ou « . / » dans leur nom.

Par exemple, pour utiliser les routines runtime C, l'application doit inclure les fichiers d'en-tête contenant les déclarations pour les routines.Chaque fichier d'en-tête contiennent des références d'instruction l'emplacement du fichier de façon relative (à partir de le répertoire de travail de l'application) :

#include <stdlib.h>

lorsque le chemin d'accès absolu (emplacement du système de fichiers réel) du fichier peut être :

\\machine\shareName\msvcSrc\crt\headerFiles\stdlib.h

_fullpathgère automatiquement les arguments de chaîne de caractères multioctets comme approprié, l'identification des séquences de caractères multioctets d'après la page de codes multioctets en cours de utilisation._wfullpathest une version à caractère élargi d' _fullpath; les arguments de chaîne d' _wfullpathsont des chaînes à caractères larges._wfullpathet _fullpathse comportent de la même façon qu'il _wfullpathne gère pas les chaînes de caractères multioctets.

Si _DEBUGet _CRTDBG_MAP_ALLOCles deux sont définis, les appels à _fullpath et l' _wfullpath sont remplacés par les appels à _fullpath_dbg et à _wfullpath_dbg de permettre le débogage des allocations de mémoire.Pour plus d'informations, consultez _fullpath_dbg, _wfullpath_dbg.

Cette fonction appelle le gestionnaire de paramètre non valide, comme décrit dans Validation des paramètres, si maxlen est inférieure ou égale à 0.Si est autorisé à l'exécution de se poursuivre, les ensembles errno de cette fonction à EINVAL et retourne NULL.

mappages de routines de texte générique

routine de Tchar.h

_UNICODE et _MBCS non définis

_MBCS défini

_UNICODE défini

_tfullpath

_fullpath

_fullpath

_wfullpath

si la mémoire tampon d' absPath est NULL, _fullpath appelle malloc pour allouer une mémoire tampon et ignore l'argument d' maxLength .Il revient à l'appelant de libérer cette mémoire tampon (à l'aide de libre) selon le cas.Si l'argument d' relPath spécifie un lecteur de disque, le répertoire actif de ce lecteur est combiné avec le chemin d'accès.

Configuration requise

Fonction

en-tête requis

_fullpath

<stdlib.h>

_wfullpath

<stdlib.h> ou <wchar.h>

Pour plus d'informations de compatibilité, consultez compatibilité dans l'introduction.

Exemple

// crt_fullpath.c
// This program demonstrates how _fullpath
// creates a full path from a partial path.
 
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <direct.h>

void PrintFullPath( char * partialPath )
{
   char full[_MAX_PATH];
   if( _fullpath( full, partialPath, _MAX_PATH ) != NULL )
      printf( "Full path is: %s\n", full );
   else
      printf( "Invalid path\n" );
}

int main( void )
{
   PrintFullPath( "test" );
   PrintFullPath( "\\test" );
   PrintFullPath( "..\\test" );
}
  

Équivalent .NET Framework

System : : E/S : : fichier : : Create

Voir aussi

Référence

Gestion de fichiers

_getcwd, _wgetcwd

_getdcwd, _wgetdcwd

_makepath, _wmakepath

_splitpath, _wsplitpath