_getcwd, _wgetcwd

Ottiene la cartella di lavoro corrente.

Nota importanteImportante

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 *_getcwd( 
   char *buffer,
   int maxlen 
);
wchar_t *_wgetcwd( 
   wchar_t *buffer,
   int maxlen 
);

Parametri

  • buffer
    Percorso di archiviazione per il percorso.

  • maxlen
    Lunghezza del percorso nei caratteri: char per _getcwd e wchar_t per _wgetcwd.

Valore restituito

Restituisce un puntatore a buffer.Un valore restituito di NULL indica un errore e errno è impostato su qualsiasi ENOMEM, per indicare che è disponibile memoria sufficiente per allocare i byte di maxlen (quando un argomento di NULL viene fornito come buffer), o a ERANGE, per indicare che il percorso è più lungo di maxlen.Se maxlen è minore o uguale a zero, chiamare questa funzione di un gestore non valido di parametro, come descritto in Convalida dei parametri.

Per ulteriori informazioni su questi e altri codici restituiti, vedere _doserrno, errno, _sys_errlist, e _sys_nerr.

Note

La funzione di _getcwd ottiene il percorso completo della cartella di lavoro corrente dell'unità predefinito e lo archivia in buffer.L'argomento Integer maxlen specifica la lunghezza massima per il percorso.Si verifica un errore se la lunghezza del percorso (carattere di terminazione null incluso) supera maxlen*.* L'argomento di buffer può essere NULL; almeno un buffer di dimensione maxlen (solo se necessario) viene automaticamente allocato, utilizzando malloc, per archiviare il percorso.Questo buffer può più essere successivamente liberato free chiamando e passando il valore restituito di _getcwd (un puntatore a un buffer allocato).

_getcwd restituisce una stringa che rappresenta il percorso della cartella di lavoro corrente.Se la cartella di lavoro corrente è la radice, la stringa termina con una barra rovesciata ( \ ).Se la cartella di lavoro corrente è una directory diversa dalla radice, la stringa termina con il nome della directory e non da una barra rovesciata.

_wgetcwd è una versione a caratteri estesi di _getcwd; l'argomento di buffer e il valore restituito di _wgetcwd sono stringhe di caratteri estesi._wgetcwd e _getcwd si comportano in modo identico in caso contrario.

Quando _DEBUG e _CRTDBG_MAP_ALLOC sono definiti, le chiamate a _getcwd e _wgetcwd vengono sostituiti dalle chiamate a _getcwd_dbg e a _wgetcwd_dbg per consentire le allocazioni di memoria di debug.Per ulteriori informazioni, vedere _getcwd_dbg, _wgetcwd_dbg.

Mapping di routine a Testo generico

Routine Tchar.h

_UNICODE e _MBCS non definiti

_MBCS definito

_UNICODE definito

_tgetcwd

_getcwd

_getcwd

_wgetcwd

Requisiti

Routine

Intestazione obbligatoria

_getcwd

<direct.h>

_wgetcwd

<direct.h> o <wchar.h>

Per ulteriori informazioni sulla compatibilità, vedere Compatibilità nell'introduzione.

Esempio

// crt_getcwd.c
// This program places the name of the current directory in the 
// buffer array, then displays the name of the current directory 
// on the screen. Passing NULL as the buffer forces getcwd to allocate
// memory for the path, which allows the code to support file paths
// longer than _MAX_PATH, which are supported by NTFS.
 
#include <direct.h>
#include <stdlib.h>
#include <stdio.h>

int main( void )
{
   char* buffer;

   // Get the current working directory: 
   if( (buffer = _getcwd( NULL, 0 )) == NULL )
      perror( "_getcwd error" );
   else
   {
      printf( "%s \nLength: %d\n", buffer, strnlen(buffer) );
      free(buffer);
   }
}
  

Equivalente .NET Framework

System::Environment::CurrentDirectory

Vedere anche

Riferimenti

Controllo della directory

_chdir, _wchdir

_mkdir, _wmkdir

_rmdir, _wrmdir