Compartilhar via


_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

Consulte também

Referência

Controle de diretório

_mkdir, _wmkdir

_rmdir, _wrmdir

sistema, _wsystem