_chdir, _wchdir
Muda a diretório de trabalho corrente.
int _chdir(
const char *dirname
);
int _wchdir(
const wchar_t *dirname
);
Parâmetros
- dirname
Caminho da nova diretório de trabalho.
Valor de retorno
Essas funções retornam um valor 0 se obtiver êxito.Um valor retornado de – 1 indica falha.Se o caminho especificado pode não ser encontrado, errno é definido como ENOENT. If dirname for nulo, o manipulador de parâmetro inválido é invocado, sistema autônomo descrito em Validação de parâmetro. Se a execução for permitida para continuar, errno é conjunto para EINVAL e a função retornará -1.
Comentários
The _chdir função altera a diretório de trabalho corrente para o diretório especificado por dirname. The dirname parâmetro deve se referir a um diretório existente. Esta função pode alterar a diretório de trabalho corrente em qualquer unidade.Se uma nova letra de unidade for especificada em dirname, a letra da unidade padrão é alterada também. Por exemplo, se A é a letra da unidade padrão e \BIN é a diretório de trabalho corrente, a telefonar a seguir altera a diretório de trabalho corrente para a unidade C e estabelece C sistema autônomo a nova unidade padrão:
_chdir("c:\\temp");
Quando você usa o caractere de barra invertida opcional (\) em caminhos, você deve colocar duas barras invertidas ()\\) em uma seqüência de caracteres C literal para representar uma barra invertida ()\).
_wchdir é uma versão de caractere largo da _chdir; o dirname argumento para _wchdir é uma seqüência de caracteres largos. _wchdir and _chdir behave identically otherwise.
Mapeamento de rotina texto genérico:
Rotina tchar.h |
_UNICODE e _MBCS não definido |
_MBCS definido |
_UNICODE definido |
---|---|---|---|
_tchdir |
_chdir |
_chdir |
_wchdir |
Requisitos
Rotina |
Cabeçalho necessário |
Cabeçalho opcional |
---|---|---|
_chdir |
<direct.h> |
<errno.h> |
_wchdir |
<direct.h> ou <wchar.h> |
<errno.h> |
Para obter mais informações de compatibilidade, consulte Compatibilidade na introdução.
Exemplo
// crt_chdir.c
// arguments: C:\WINDOWS
/* This program uses the _chdir function to verify
that a given directory exists. */
#include <direct.h>
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
int main( int argc, char *argv[] )
{
if(_chdir( argv[1] ) )
{
switch (errno)
{
case ENOENT:
printf( "Unable to locate the directory: %s\n", argv[1] );
break;
case EINVAL:
printf( "Invalid buffer.\n");
break;
default:
printf( "Unknown error.\n");
}
}
else
system( "dir *.exe");
}
Volume in drive C has no label. Volume Serial Number is 2018-08A1 Directory of c:\windows 08/29/2002 04:00 AM 1,004,032 explorer.exe 12/17/2002 04:43 PM 10,752 hh.exe 03/03/2003 09:24 AM 33,792 ieuninst.exe 10/29/1998 04:45 PM 306,688 IsUninst.exe 08/29/2002 04:00 AM 66,048 NOTEPAD.EXE 03/03/2003 09:24 AM 33,792 Q330994.exe 08/29/2002 04:00 AM 134,144 regedit.exe 02/28/2003 06:26 PM 46,352 setdebug.exe 08/29/2002 04:00 AM 15,360 TASKMAN.EXE 08/29/2002 04:00 AM 49,680 twunk_16.exe 08/29/2002 04:00 AM 25,600 twunk_32.exe 08/29/2002 04:00 AM 256,192 winhelp.exe 08/29/2002 04:00 AM 266,752 winhlp32.exe 13 File(s) 2,249,184 bytes 0 Dir(s) 67,326,029,824 bytes free
Equivalente do NET Framework
sistema::ambiente::CurrentDirectory