_rmdir, _wrmdir

Deletes a directory.


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


Path of the directory to be removed.

Return Value

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:

errno value Condition
ENOTEMPTY Given path is not a directory, the directory is not empty, or the directory is either the current working directory or the root directory.
ENOENT Path is invalid.
EACCES 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
_trmdir _rmdir _rmdir _wrmdir


Routine Required header
_rmdir <direct.h>
_wrmdir <direct.h> or <wchar.h>

For more compatibility information, see Compatibility.


All versions of the C run-time libraries.


See the example for _mkdir.

See also

Directory Control
_chdir, _wchdir
_mkdir, _wmkdir