_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