Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Изменяет текущий рабочий каталог.
Синтаксис
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