_mkdir, _wmkdir
Creates a new directory.
int _mkdir( const char *dirname ); int _wmkdir( const wchar_t *dirname );
Parameters
- dirname
-
Path for a new directory.
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.
- EEXIST
-
Directory was not created because dirname is the name of an existing file, directory, or device.
- ENOENT
-
Path was not found.
For more information about these and other return codes, see _doserrno, errno, _sys_errlist, and _sys_nerr.
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.
| Tchar.h routine | _UNICODE and _MBCS not defined | _MBCS defined | _UNICODE defined |
|---|---|---|---|
| _tmkdir | _mkdir | _mkdir | _wmkdir |
| Routine | Required header | Compatibility |
|---|---|---|
| _mkdir | <direct.h> | Windows 95, Windows 98, Windows 98 Second Edition, Windows Millennium Edition, Windows Millennium Edition, Windows NT 4.0, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 |
| _wmkdir | <direct.h> or <wchar.h> | Windows NT 4.0, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 |
For more compatibility information, see Compatibility in the Introduction.
Libraries
All versions of the C run-time libraries.
// 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" );
}