Partager via


_getdcwd, _wgetdcwd

Obtient le chemin complet du répertoire de travail actuel sur le lecteur spécifié.

Important

Cette API ne peut pas être utilisée dans les applications qui s'exécutent dans le Windows Runtime.Pour plus d'informations, consultez Fonctions CRT non prises en charge avec /ZW.

char *_getdcwd( 
   int drive,
   char *buffer,
   int maxlen 
);
wchar_t *_wgetdcwd( 
   int drive,
   wchar_t *buffer,
   int maxlen 
);

Paramètres

  • drive
    Entier non négatif qui spécifie le lecteur (0 = lecteur par défaut, 1 = A, 2 = B, etc.).

    Si le lecteur spécifié est pas disponible, ou le type de lecteur (par exemple, disque virtuel amovible, fixe, CD-ROM, ou lecteur réseau) ne peut pas être déterminé, le gestionnaire de paramètre non valide, qui est décrit dans Validation de paramètre, est appelé.

  • buffer
    Emplacement de stockage pour le chemin d'accès, or NULL..

    Si NULL est spécifié, cette fonction alloue une mémoire tampon au moins la taille d'un maxlen à l'aide de malloc, et la valeur de retour de _getdcwd est un pointeur désignant la mémoire tampon allouée. La mémoire tampon peut être libérée en appelant free et en lui passant le pointeur.

  • maxlen
    Entier positif différent de zéro qui spécifie la longueur maximale du chemin d'accès, en caractères : char pour _getdcwd et wchar_t pour _wgetdcwd.

    Si maxlen n'est pas supérieur à zéro, le gestionnaire de paramètre non valide, qui est décrit dans Validation de paramètre, est appelé.

Valeur de retour

Pointeur vers une chaîne qui représente le chemin complet du répertoire de travail actuel sur le lecteur spécifié, ou NULL, qui indique une erreur.

Si buffer est spécifié comme NULL et il est mémoire insuffisante pour allouer maxlen caractères, une erreur se produit et errno a la valeur ENOMEM. Si la longueur du chemin d'accès, qui inclut le caractère null de fin, dépasse maxlen, une erreur se produit et errno a la valeur ERANGE. Consultez errno, _doserrno, _sys_errlist et _sys_nerr pour plus d'informations sur ces codes d'erreurs.

Notes

La fonction _getdcwd permet d'obtenir le chemin complet du répertoire de travail du disque spécifié et l'enregistre dans buffer. Si le répertoire de travail actuel est la racine, la chaîne se termine par une barre oblique inversée (\). Si le répertoire de travail actuel est un répertoire différent de la racine, la chaîne se termine par le nom de répertoire et non par une barre oblique inverse.

_wgetdcwd est une version à caractère élargi de _getdcwd, et son paramètre buffer et valeur de retour sont des chaînes à caractères larges. Sinon, _wgetdcwd et _getdcwd se comportent de la même façon.

Cette fonction est thread-safe bien qu'elle dépende de GetFullPathName, qui n'est pas elle-même thread-safe. Toutefois, vous pouvez enfreindre la sécurité des threads si votre application multithread appelle cette fonction et GetFullPathName. Pour plus d'informations, accédez à MSDN Library puis recherchez GetFullPathName.

La version de cette fonction avec le suffixe _nolock se comporte comme cette fonction sauf qu'elle n'est pas thread-safe et n'est pas protégée des interférences avec d'autres threads. Pour plus d'informations, consultez _getdcwd_nolock, _wgetdcwd_nolock.

Lorsque _DEBUG et _CRTDBG_MAP_ALLOC sont définis, les appels à _getdcwd et _wgetdcwd sont remplacés par des appels à _getdcwd_dbg et _wgetdcwd_dbg afin que vous puissiez déboguer les allocations de mémoire. Pour plus d'informations, consultez _getdcwd_dbg, _wgetdcwd_dbg.

Mappages de routines de texte générique

Routine Tchar.h

_UNICODE et _MBCS non définis

_MBCS défini

_UNICODE défini

_tgetdcwd

_getdcwd

_getdcwd

_wgetdcwd

Configuration requise

Routine

En-tête requis

_getdcwd

<direct.h>

_wgetdcwd

<direct.h> or <wchar.h>

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

Exemple

Consultez l'exemple dans _getdrive.

Équivalent .NET Framework

System::Environment::CurrentDirectory

Voir aussi

Référence

Contrôle de répertoire

_chdir, _wchdir

_getcwd, _wgetcwd

_getdrive

_mkdir, _wmkdir

_rmdir, _wrmdir