_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 numero 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 e _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, andare su MSDN Library e 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 a 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