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


_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

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

См. также

Ссылки

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

_chdir, _wchdir

_rmdir, _wrmdir