_rmdir, _wrmdir

Deletes a directory.

Syntax

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

Parameters

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 isn't a directory, the directory isn't 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 errno, _doserrno, _sys_errlist, and _sys_nerr.

Remarks

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.

By default, this function's global state is scoped to the application. To change this behavior, see Global state in the CRT.

Generic-text routine mappings

Tchar.h routine _UNICODE and _MBCS not defined _MBCS defined _UNICODE defined
_trmdir _rmdir _rmdir _wrmdir

Requirements

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

For more compatibility information, see Compatibility.

Libraries

All versions of the C run-time libraries.

Example

See the example for _mkdir.

See also

Directory control
_chdir, _wchdir
_mkdir, _wmkdir