_getdcwd, _wgetdcwd

 

Date de publication : novembre 2016

Pour obtenir la dernière documentation sur Visual Studio 2017, consultez Documentation Visual Studio 2017.

Obtient le chemin d'accès complet du répertoire de travail actuel sur le lecteur spécifié.

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é n’est pas disponible, ou le type de lecteur (par exemple, amovible, fixe, CD-ROM, disque virtuel ou lecteur réseau) ne peut pas être déterminé, le gestionnaire de paramètre non valide, décrit dans Parameter Validation, est appelé.

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

Si la valeur NULL est spécifiée, cette fonction alloue une mémoire tampon d'une taille d'au moins maxlen à l'aide de malloc, et la valeur de retour de _getdcwd est un pointeur vers 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 la valeur maxlen n’est pas supérieure à zéro, le gestionnaire de paramètres non valides, décrit dans Parameter Validation, est appelé.

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

Si le paramètre buffer est spécifié comme NULL et si la mémoire est 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. Pour plus d’informations sur ces codes d’erreur, consultez la page errno, _doserrno, _sys_errlist et _sys_nerr.

La fonction _getdcwd obtient le chemin d'accès complet du répertoire de travail actuel sur le lecteur spécifié et l'enregistre dans buffer. Si le répertoire de travail actuel est défini à la racine, la chaîne se termine par une barre oblique inverse (\). Si le répertoire de travail actuel est un répertoire différent de la racine, la chaîne se termine par le nom du répertoire, et non par une barre oblique inverse.

_wgetdcwd est une version à caractère larges de _getdcwd, et son paramètre buffer et sa 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 même si elle dépend 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 ni thread-safe ni protégée des interférences avec d'autres threads. Pour plus d'informations, consultez _getdcwd_nolock, _wgetdcwd_nolock.

Lorsque les paramètres _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
RoutineEn-tête requis
_getdcwd<direct.h>
_wgetdcwd<direct.h> ou <wchar.h>

Pour plus d’informations sur la compatibilité, consultez Compatibility.

Consultez l’exemple dans _getdrive.

System::Environment::CurrentDirectory

Contrôle de répertoire
_chdir, _wchdir
_getcwd, _wgetcwd
_getdrive
_mkdir, _wmkdir
_rmdir, _wrmdir

Afficher: