_mkdir
, _wmkdir
Создает каталог.
Синтаксис
int _mkdir(
const char *dirname
);
int _wmkdir(
const wchar_t *dirname
);
Параметры
dirname
Путь для нового каталога.
Возвращаемое значение
Каждая функция возвращает значение 0, если новый каталог успешно создан. При ошибке функция возвращает значение -1 и задает errno
следующее.
EEXIST
Каталог не был создан, так как dirname
это имя существующего файла, каталога или устройства.
ENOENT
Путь не найден.
Дополнительные сведения об этих и других кодах возврата см. в разделе errno
, _doserrno
и _sys_nerr
_sys_errlist
.
Замечания
Функция _mkdir
создает новый каталог с указанным dirname
. Функция _mkdir
может создать только один новый каталог для одного вызова, поэтому только последний компонент dirname
может присвоить имя новому каталогу. _mkdir
не преобразует разделители путей. В Windows NT обратная косая черта (\
) и косая черта (/
) являются допустимыми разделителями путей в строках символов во время выполнения.
_wmkdir
— это версия _mkdir
с расширенными символами; аргумент dirname
для _wmkdir
— строка расширенных символов. Поведение_wmkdir
и _mkdir
идентично в противном случае.
По умолчанию глобальное состояние этой функции ограничивается приложением. Чтобы изменить это поведение, см . статью "Глобальное состояние" в CRT.
Сопоставления подпрограмм универсального текста
Tchar.h рутина |
_UNICODE и _MBCS не определен |
_MBCS Определенные |
_UNICODE Определенные |
---|---|---|---|
_tmkdir |
_mkdir |
_mkdir |
_wmkdir |
Требования
Маршрут | Обязательный заголовок |
---|---|
_mkdir |
<direct.h> |
_wmkdir |
<direct.h> или <wchar.h> |
Дополнительные сведения о совместимости см. в разделе Совместимость.
Библиотеки
Все версии библиотек времени выполнения языка C.
Пример
// crt_makedir.c
#include <direct.h>
#include <stdlib.h>
#include <stdio.h>
int main( void )
{
if( _mkdir( "\\testtmp" ) == 0 )
{
printf( "Directory '\\testtmp' was successfully created\n" );
system( "dir \\testtmp" );
if( _rmdir( "\\testtmp" ) == 0 )
printf( "Directory '\\testtmp' was successfully removed\n" );
else
printf( "Problem removing directory '\\testtmp'\n" );
}
else
printf( "Problem creating directory '\\testtmp'\n" );
}
Пример полученных результатов
Directory '\testtmp' was successfully created
Volume in drive C has no label.
Volume Serial Number is E078-087A
Directory of C:\testtmp
02/12/2002 09:56a <DIR> .
02/12/2002 09:56a <DIR> ..
0 File(s) 0 bytes
2 Dir(s) 15,498,690,560 bytes free
Directory '\testtmp' was successfully removed
См. также
Элемент управления каталогом
_chdir
, _wchdir
_rmdir
, _wrmdir