_rmdir, _wrmdir
Collapse the table of content
Expand the table of content
Important This document may not represent best practices for current development, links to downloads and other resources may no longer be valid. Current recommended version can be found here. ArchiveDisclaimer

_rmdir, _wrmdir

Deletes a directory.

int _rmdir( 
   const char *dirname  
int _wrmdir( 
   const wchar_t *dirname  


Path of the directory to be removed.

Each of these functions returns 0 if the directory is successfully deleted. A return value of –1 indicates an error and errno is set to one of the following values:


Given path is not a directory, the directory is not empty, or the directory is either the current working directory or the root directory.


Path is invalid.


A program has an open handle to the directory.

For more information about these and other return codes, see _doserrno, errno, _sys_errlist, and _sys_nerr.

The _rmdir function deletes the directory specified by dirname. The directory must be empty, and it must not be the current working directory or the root directory.

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

Generic-Text Routine Mappings

Tchar.h routine

_UNICODE and _MBCS not defined

_MBCS defined

_UNICODE defined






Required header




<direct.h> or <wchar.h>

For more compatibility information, see Compatibility in the Introduction.


All versions of the C run-time libraries.

See the example for _mkdir.

© 2016 Microsoft