_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 的宽字符版本;_wmkdir 的 dirname 参数是宽字符字符串。 _wmkdir_mkdir 行为相同,否则。

一般文本例程映射

Tchar.h 例程

未定义 _UNICODE 和 _MBCS

已定义 _MBCS

已定义 _UNICODE

_tmkdir

_mkdir

_mkdir

_wmkdir

要求

例程

必需的标头

_mkdir

<direct.h>

_wmkdir

<direct.h> or <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