Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Изменяет текущий рабочий каталог.
Синтаксис
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указана новая буква диска, буква диска по умолчанию также изменяется. Например, предположим A , что буква диска по умолчанию и \BIN является текущим рабочим каталогом. Следующий вызов изменяет текущий рабочий каталог для диска C \temp и устанавливает C его в качестве нового диска по умолчанию:
_chdir("c:\\temp");
Если в путях используется необязательная обратная косая черта (\), в строковом литерале С необходимо задавать две обратные косые черты (\\) для представления одной обратной косой черты (\).
_wchdir — это версия _chdirс расширенными символами; аргумент dirname для _wchdir — строка расширенных символов. Поведение_wchdir и _chdir идентично в противном случае.
По умолчанию глобальное состояние этой функции ограничивается приложением. Чтобы изменить это поведение, см . статью "Глобальное состояние" в CRT.
Сопоставление подпрограмм универсального текста
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");
}
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
См. также
Элемент управления каталогом
_mkdir, _wmkdir
_rmdir, _wrmdir
system, _wsystem