_getdcwd, _wgetdcwd
Obtient le chemin d'accès complet du répertoire de travail en cours sur le lecteur spécifié.
Important
Cette API ne peut pas être utilisée dans les applications qui s'exécutent dans les fenêtres d'exécution.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, B = 2, etc.).Si le lecteur spécifié n'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 des paramètres, est appelé.
buffer
Emplacement de stockage pour le chemin d'accès, ou NULL.Si NULL est spécifié, cette fonction alloue une mémoire tampon au moins de taille d' maxlen à l'aide de malloc, et la valeur de retour d' _getdcwd est un pointeur vers une mémoire tampon allouée.La mémoire tampon peut être libérée en appelant free et en passant le pointeur.
maxlen
Un 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 des paramètres, est appelé.
Valeur de retour
Pointeur vers une chaîne qui représente le chemin d'accès complet du répertoire de travail en cours 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 des caractères d' maxlen, 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 errno, _doserrno, _sys_errlist, et _sys_nerr.
Notes
La fonction d' _getdcwd obtient le chemin d'accès complet du répertoire de travail en cours sur le lecteur spécifié et l'enregistre l'adresse 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 placé dans un dossier différent de la racine, la chaîne se termine par le nom du dossier et non d'une barre oblique inverse.
_wgetdcwd est une version à caractère élargi d' _getdcwd, et son paramètre et la valeur de retour d' buffer 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épend d' GetFullPathName, qui est elle-même non thread-safe.Toutefois, vous pouvez violer 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 qui a le suffixe d' _nolock se comporte de manière identique à cette fonction sauf que de ce n'est pas thread-safe et n'est pas protégée d'interférence par 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 l' _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 de Tchar.h |
_UNICODE et non définis _MBCS |
_MBCS défini |
_UNICODE défini |
---|---|---|---|
_tgetdcwd |
_getdcwd |
_getdcwd |
_wgetdcwd |
Configuration requise
Routine |
En-tête requis |
---|---|
_getdcwd |
<direct.h> |
_wgetdcwd |
<direct.h> ou <wchar.h> |
Pour plus d'informations de compatibilité, consultez Compatibilité.
Exemple
Consultez l'exemple dans _getdrive.
Équivalent .NET Framework
System::Environment::CurrentDirectory