This documentation is archived and is not being maintained.


Changes the current working drive.

Important note Important

This API cannot be used in applications that execute in the Windows Runtime. For more information, see CRT functions not supported with /ZW.

int _chdrive( 
   int drive 


An integer from 1 through 26 that specifies the current working drive (1=A, 2=B, and so forth).

Zero (0) if the current working drive was changed successfully; otherwise, -1.

If drive is not in the range from 1 through 26, the invalid-parameter handler is invoked as described in Parameter Validation. If execution is allowed to continue, the _chdrive function returns -1, errno is set to EACCES, and _doserrno is set to ERROR_INVALID_DRIVE.

The _chdrive function is not thread-safe because it depends on the SetCurrentDirectory function, which is itself not thread-safe. To use _chdrive safely in a multi-threaded application, you must provide your own thread synchronization. For more information, go to MSDN Library and then search for SetCurrentDirectory.

The _chdrive function changes only the current working drive; _chdir changes the current working directory.


Required header



For more information, see Compatibility.

See the example for _getdrive.