Compartilhar via


_getdcwd, _wgetdcwd

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

Observação importanteImportante

Este API não pode ser usado em aplicativos executados em Tempo de Execução do Windows.Para obter mais informações, consulte Funções de CRT não suportadas com /ZW.

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

Parâmetros

  • drive
    Um inteiro negativo que não especifica a unidade 0 (= unidade padrão, 1 = 2 = A, B, e assim por diante).

    Se a unidade especificada não estiver disponível, ou o tipo de unidade (por exemplo, o disco, removível, fixo de CD-ROM, RAM, ou unidade de rede) não pode ser determinado, o manipulador de inválido- parâmetro, que é descrito em Validação de parâmetro, é chamado.

  • buffer
    Local de armazenamento para o caminho, ou NULL.

    Se NULL é especificado, essa função atribui um buffer pelo menor tamanho de maxlen usando malloc, e o valor de retorno de _getdcwd é um ponteiro ao buffer atribuído.O armazenamento pode ser liberado chamando free e passar ao ponteiro.

  • maxlen
    Um inteiro positivo diferente de zero que especifica o comprimento máximo de caminho, os caracteres: char para _getdcwd e wchar_t para _wgetdcwd.

    Se maxlen não é maior que zero, o manipulador de inválido- parâmetro, que é descrito em Validação de parâmetro, é chamado.

Valor de retorno

Ponteiro para uma cadeia de caracteres que representa o caminho completo do diretório de trabalho corrente na unidade especificada, ou NULL, que indica um erro.

Se buffer é especificado como NULL e existem insuficientes memória para atribuir caracteres de maxlen , ocorrerá um erro e errno é definido como ENOMEM.Se o comprimento do caminho, incluindo o caractere de terminação zero, excede maxlen, ocorrerá um erro e errno é definido como ERANGE.Para obter mais informações sobre esses códigos de erro, consulte errno, _doserrno, _sys_errlist e _sys_nerr.

Comentários

A função de _getdcwd obtém o caminho completo do diretório de trabalho corrente na unidade especificada e armazená-lo em buffer.Se o diretório de trabalho corrente é definida como a raiz, a cadeia de caracteres termina com uma barra invertida (\).Se o diretório de trabalho atual é definido para um diretório diferente da raiz, a cadeia de caracteres termina com o nome do diretório e não com uma barra invertida.

_wgetdcwd é uma versão de largo- caractere de _getdcwd, e seus parâmetros e valor de retorno de buffer são cadeias de caracteres de largo- caractere.Caso contrário, _wgetdcwd e _getdcwd se comportam de forma idêntica.

Essa função é segura mesmo que depende de GetFullPathName, que é própria com segmentos não seguro.No entanto, você pode violar a segurança de segmentos se seu aplicativo com vários segmentos chama essa função e GetFullPathName.Para obter mais informações, vá Biblioteca MSDN para e então pesquisar por GetFullPathName.

A versão dessa função que tem o sufixo de _nolock se comporta de forma idêntica à essa função exceto que ela não é segura e não é protegida por outros segmentos de interferência.Para obter mais informações, consulte _getdcwd_nolock, _wgetdcwd_nolock.

Quando _DEBUG e _CRTDBG_MAP_ALLOC são definidos, chamadas a _getdcwd e _wgetdcwd são substituídos por chamadas a _getdcwd_dbg e a _wgetdcwd_dbg para que você possa depurar alocações de memória.Para obter mais informações, consulte_getdcwd_dbg, _wgetdcwd_dbg.

Mapeamentos da rotina de Genérico- texto

Rotina de Tchar.h

_UNICODE e não definidos _MBCS

_MBCS definido

_UNICODE definido

_tgetdcwd

_getdcwd

_getdcwd

_wgetdcwd

Requisitos

Rotina

Cabeçalho necessário

_getdcwd

<direct.h>

_wgetdcwd

<direct.h> ou <wchar.h>

Para mais informações, consulte Compatibilidadede compatibilidade.

Exemplo

Consulte o exemplo em _getdrive.

Equivalência do .NET Framework

System::Environment::CurrentDirectory

Consulte também

Referência

Controle de diretório

_chdir, _wchdir

_getcwd, _wgetcwd

_getdrive

_mkdir, _wmkdir

_rmdir, _wrmdir