Поделиться через


_chdir, _wchdir

Изменяет текущую рабочую папку.

Важно!

Этот API невозможно использовать в приложениях, запускаемых в среде выполнения Windows.Дополнительные сведения см. в статье Функции CRT, которые не поддерживаются с ключом /ZW.

int _chdir( 
   const char *dirname 
);
int _wchdir( 
   const wchar_t *dirname 
);

Параметры

  • dirname
    Путь к новой рабочей папке.

Возвращаемое значение

Эти функции возвращают значение 0 в случае успешного выполнения. Возвращаемое значение, равное -1, означает неудачу. Если указанный путь не найден, то errno устанавливается в ENOENT. Если параметр dirname имеет значение NULL, вызывается обработчик недопустимых параметров, как описано в разделе Проверка параметров. Если продолжение выполнения разрешено, errno принимает значение EINVAL , и функция возвращает -1.

Заметки

Функция _chdir изменяет текущую рабочую папку на папку, указанную dirname. Параметр dirname должен ссылаться на существующую папку. Эта функция может изменить текущую рабочую папку на любом диске. Если новая буква диска указана в dirname, буква диска по умолчанию также меняется. Например, если А — буква диска по умолчанию, и \BIN — текущая рабочая папка, следующий вызов изменит текущую рабочую папку на диска C и установит C как новый диск по умолчанию:

_chdir("c:\\temp");

При использовании необязательной обратной косой черту (\) в указанных расположениях, необходимо задавать две обратные косые черты (\\) в строковом литерале С для представления одной обратной косой черты (\).

_wchdir — расширенная версия _chdir; аргумент dirname в _wchdir — расширенная строка. _wchdir и _chdir одинаковы в остальном.

Универсальное текстовое сопоставление функций:

Подпрограмма Tchar.h

_UNICODE и _MBCS не определены

_MBCS определено

_UNICODE определено

_tchdir

_chdir

_chdir

_wchdir

Требования

Подпрограмма

Обязательный заголовок

Необязательный заголовок

_chdir

<direct.h>

<errno.h>

_wchdir

<direct.h> или <wchar.h>

<errno.h>

Дополнительные сведения о совместимости см. в разделе Совместимость.

Пример

// 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");
}
  

Эквивалент в .NET Framework

System::Environment::CurrentDirectory

См. также

Ссылки

Управление каталогами

_mkdir, _wmkdir

_rmdir, _wrmdir

system, _wsystem