_getdcwd, _wgetdcwd
Ottiene il percorso completo della directory di lavoro corrente nell'unità specificata.
Importante
Questa API non può essere utilizzata nelle applicazioni che vengono eseguite in Windows Runtime.Per ulteriori informazioni, vedere Funzioni CRT non supportate con /ZW.
char *_getdcwd(
int drive,
char *buffer,
int maxlen
);
wchar_t *_wgetdcwd(
int drive,
wchar_t *buffer,
int maxlen
);
Parametri
drive
Integer non negativo che specifica l'unità (= 0 unità predefinita, 1 = A, B = 2, e così via).Se l'unità specificata non è disponibile, o il tipo di unità, (ad esempio disco rimovibile, fisso, CD-ROM, RAM, o un'unità di rete) non può essere determinata, il gestore di parametro non valido, come descritto in Convalida dei parametri, viene richiamato.
buffer
Posizione di archiviazione per il percorso, o NULL.Se impostato a NULL, questa funzione alloca almeno un buffer di dimensione maxlen utilizzando malloc e il valore restituito da _getdcwd è un puntatore al buffer allocato. Il buffer può essere liberato chiamando la funzione free e passandole il puntatore.
maxlen
Un intero positivo diverso da zero che specifica la lunghezza massima del percorso, in caratteri: char per _getdcwd e wchar_t per _wgetdcwd.Se maxlen non è maggiore di zero, il gestore di parametro non valido, descritto in Convalida dei parametri, viene richiamato.
Valore restituito
Puntatore a una stringa che rappresenta il percorso completo della cartella di lavoro corrente nell'unità specificata, o NULL, che indica un errore.
Se buffer viene impostato a NULL e non vi è memoria sufficiente per allocare un numero maxlen di caratteri, si verifica un errore e errno viene impostato su ENOMEM. Se la lunghezza del percorso, incluso il carattere di terminazione null, supera maxlen, si verifica un errore e errno viene impostato a ERANGE. Per ulteriori informazioni su questi codici di errore, vedere errno, _doserrno, _sys_errlist, and _sys_nerr.
Note
La funzione _getdcwd ottiene il percorso completo della cartella di lavoro corrente nell'unità specificata e lo archivia in buffer. Se la cartella di lavoro corrente è impostata nella cartella radice, la stringa termina con una barra rovesciata (\). Se la cartella di lavoro corrente è impostata su una directory diversa dalla radice, la stringa termina con il nome della directory e non con una barra rovesciata.
_wgetdcwd è una versione a caratteri di tipo "wide" di _getdcwde il relativo parametro buffer e valore restituito sono stringhe di caratteri di tipo "wide". Altrimenti _wgetdcwd e _getdcwd si comportano in modo identico.
Questa funzione è comunque thread-safe anche se dipende da GetFullPathName, che è non thread-safe. Tuttavia, è possibile violare il thread safety se l'applicazione multithread chiama sia questa funzione che GetFullPathName. Per ulteriori informazioni, visitare MSDN Library e quindi cercare GetFullPathName.
La versione di questa funzione con il suffisso _nolock si comporta in modo identico a questa funzione con l'eccezione che non è thread-safe e non è protetta da interferenze da parte di altri thread. Per ulteriori informazioni, vedere _getdcwd_nolock, _wgetdcwd_nolock.
Quando _DEBUG e _CRTDBG_MAP_ALLOC vengono definiti, le chiamate a _getdcwd e _wgetdcwd vengono sostituite dalle chiamate a _getdcwd_dbg e a _wgetdcwd_dbg in modo da consentire il debug delle allocazioni di memoria. Per ulteriori informazioni, vedere _getdcwd_dbg, _wgetdcwd_dbg.
Mapping di routine su testo generico
Routine Tchar.h |
_UNICODE e _MBCS non definiti |
_MBCS definito |
_UNICODE definito |
---|---|---|---|
_tgetdcwd |
_getdcwd |
_getdcwd |
_wgetdcwd |
Requisiti
Routine |
Intestazione obbligatoria |
---|---|
_getdcwd |
<direct.h> |
_wgetdcwd |
<direct.h> o <wchar.h> |
Per ulteriori informazioni di compatibilità, vedere Compatibilità.
Esempio
Vedere l'esempio in _getdrive.
Equivalente .NET Framework
System::Environment::CurrentDirectory