Export (0) Print
Expand All

_mkdir, _wmkdir

Visual Studio 6.0

Create a new directory.

int _mkdir( const char *dirname );

int _wmkdir( const wchar_t *dirname );

Routine Required Header Compatibility
_mkdir <direct.h> Win 95, Win NT
_wmkdir <direct.h> or <wchar.h> Win NT

For additional compatibility information, see Compatibility in the Introduction.


LIBC.LIB Single thread static library, retail version
LIBCMT.LIB Multithread static library, retail version
MSVCRT.LIB Import library for MSVCRT.DLL, retail version

Return Value

Each of these functions returns the value 0 if the new directory was created. On an error the function returns –1 and sets errno as follows:


Directory was not created because dirname is the name of an existing file, directory, or device


Path was not found



Path for new directory


The _mkdir function creates a new directory with the specified dirname. _mkdir can create only one new directory per call, so only the last component of dirname can name a new directory. _mkdir does not translate path delimiters. In Windows NT, both the backslash ( \) and the forward slash (/ ) are valid path delimiters in character strings in run-time routines.

_wmkdir is a wide-character version of _mkdir; the dirname argument to _wmkdir is a wide-character string. _wmkdir and _mkdir behave identically otherwise.

Generic-Text Routine Mappings

TCHAR.H Routine _UNICODE & _MBCS Not Defined _MBCS Defined _UNICODE Defined
_tmkdir _mkdir _mkdir _wmkdir



#include <direct.h>
#include <stdlib.h>
#include <stdio.h>

void 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"  );
         printf( "Problem removing directory '\\testtmp'\n" );
      printf( "Problem creating directory '\\testtmp'\n" );


Directory '\testtmp' was successfully created  
 Volume in drive C is CDRIVE
 Volume Serial Number is 0E17-1702

 Directory of C:\testtmp

05/03/94  12:30p        <DIR>           .
05/03/94  12:30p        <DIR>           ..
               2 File(s)          0 bytes
                             17,358,848 bytes free
Directory '\testtmp' was successfully removed

Directory Control Routines

See Also   _chdir, _rmdir

© 2014 Microsoft