Partilhar via


_getdcwd, _wgetdcwd

Obtém o nome de caminho completo do diretório de trabalho corrente na unidade especificada.

char *_getdcwd( 
   int drive,
   char *buffer,
   int maxlen 
);
wchar_t *_wgetdcwd( 
   int drive,
   wchar_t *buffer,
   int maxlen 
);

Parâmetros

  • drive
    Unidade de disco.

  • buffer
    Local de armazenamento para o caminho.

  • maxlen
    Comprimento máximo do caminho em caracteres: char para _getdcwdand wchar_tfor _wgetdcwd.

Valor de retorno

Retornabuffer. A NULL valor retornado indica um erro, e errno é conjunto para ENOMEM, indicando que há memória suficiente para alocar maxlen bytes (quando um NULL argumento é passado sistema autônomo buffer), ou para ERANGE, indicando que o caminho é maior que maxlen caracteres. Se o drive não especificar uma unidade válida ou se maxlen é menor ou igual a zero, essa função invoca um manipulador de parâmetro inválido, conforme descrito em Validação de parâmetro.

Para obter mais informações sobre esses e outros códigos de retorno, consulte _doserrno, errno, _sys_errlist e _sys_nerr.

Comentários

The _getdcwd função obtém o caminho completo da diretório de trabalho corrente na unidade especificada e a armazena no buffer. Ocorre um erro se o comprimento do caminho (incluindo o caractere nulo de terminação) excede maxlen. The drive argumento especifica a unidade (0 = unidade padrão, 1 = A, 2 = B e assim por diante). The buffer argumento pode ser NULL; um buffer de dimensionar de pelo menos maxlen (mais apenas se necessário) é alocado automaticamente, usando malloc, para armazenar o caminho. Esse buffer posteriormente pode ser liberado chamando free e passando-o _getdcwd (um ponteiro para o buffer alocado) o valor retornado.

_getdcwd Retorna uma seqüência de caracteres que representa o caminho da diretório de trabalho corrente. Se o diretório de trabalho corrente conjunto à raiz, a seqüência de caracteres termina com uma barra invertida (\).Se a diretório de trabalho corrente é definida como um diretório diferente da raiz, a seqüência de caracteres termina com o nome do diretório e não com uma barra invertida.

_wgetdcwd é uma versão de caractere largo da _getdcwd; o buffer valor de argumento e o retorno de _wgetdcwd são seqüências de caracteres largos. _wgetdcwd e _getdcwd tenham comportamento idêntico caso contrário.

As versões com o _nolock sufixo são idênticas exceto que eles não estão protegidos contra interferência por outros threads. For more information, see _getdcwd_nolock, _wgetdcwd_nolock.

Quando _DEBUG e _CRTDBG_MAP_ALLOC são definidos, chamadas para _getdcwd e _wgetdcwd são substituídos por chamadas para _getdcwd_dbg e _wgetdcwd_dbg para permitir a depuração de alocações de memória. Para obter mais informações, consulte _getdcwd_dbg, _wgetdcwd_dbg.

Mapeamentos de rotina de texto genérica

Rotina tchar.h

_UNICODE e _MBCS não definido

_MBCS definido

_UNICODE definido

_tgetdcwd

_getdcwd

_getdcwd

_wgetdcwd

Requisitos

Rotina

Cabeçalho necessário

_getdcwd

<direct.h>

_wgetdcwd

<direct.h> ou <wchar.h>

Para obter mais informações de compatibilidade, consulte Compatibilidade na introdução.

Exemplo

Veja o exemplo _getdrive.

Equivalente do NET Framework

sistema::ambiente::CurrentDirectory

Consulte também

Referência

Controle de diretório

_chdir, _wchdir

_getcwd, _wgetcwd

_getdrive

_mkdir, _wmkdir

_rmdir, _wrmdir