_mkdir, _wmkdir
Создайте новый каталог.
int _mkdir(
const char *dirname
);
int _wmkdir(
const wchar_t *dirname
);
Параметры
- dirname
Путь нового каталога.
Возвращаемое значение
Каждая из этих функций возвращает 0, если новый каталог был создан. При возникновении ошибки функция возвращает -1 и устанавливает errno следующим образом.
EEXIST
Каталог не был создан, поскольку dirname является именем существующего файла, каталога, или устройства.ENOENT
Путь не найден.
Дополнительные сведения об этих и других кодах возврата см. в разделе _doserrno, errno, _sys_errlist и _sys_nerr.
Заметки
Функция _mkdir создает новый каталог с указанным именем dirname. _mkdir может создавать только один новый каталог для каждого вызова, поэтому только последний компонент dirname может быть именем нового каталога. _mkdir не преобразует разделители пути. В Windows NT и обратная косая черта (\), и косая черта (/) являются допустимыми разделителями пути в символьных строках в подпрограммах среды выполнения.
_wmkdir — двухбайтовая версия _mkdir; аргумент dirname для _wmkdir - строка двухбайтовых знаков. В остальных случаях поведение _wmkdir и _mkdir идентично.
Универсальное текстовое сопоставление функций
Подпрограмма 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