_getdcwd, _wgetdcwd
Obtém o caminho completo do diretório de trabalho corrente na unidade especificada.
Importante |
---|
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