Format
#include <direct.h> int _chdrive(int drive);
Language Level: Extension
_chdrive changes the current working drive to the drive
specified. The drive variable is an integer value
representing the number of the new working drive (A: is 1, B: is
2, and so on).
To change the default drive on OS/2, include
<os2.h>, define INCL_DOSFILEMGR, and use DosSetDefaultDisk
to pass the appropriate command to the operating system. You can
also use DosQueryCurrentDisk to query the disk. For more
information, see the Control Program Guide and Reference.
An alternative to this function, on Windows, is the
Win32 SetCurrentDirectory system call. For more information, see
the Win32 Programmer's Reference.
Return Value
_chdrive returns 0 if it is successful in
changing the working drive. A return value of -1 indicates an
error; _chdrive sets errno to EOS2ERR.
Example
This example uses _chdrive to change the
current working drive to C:.
#include <direct.h> #include <stdio.h>
int main(void)
{
if (_chdrive(3))
printf("Cannot change current working drive to 'C' drive.\n");
else {
printf("Current working drive changed to ");
printf("'%c' drive.\n", ('A'+_getdrive()-1));
}
return 0;
/*****************************************************************
The output should be similar to:
Current working drive changed to 'C' drive. *****************************************************************/ }
![]()
chdir -- Change Current
Working Directory
_getcwd -- Get
Path Name of Current Directory
_getdcwd -- Get
Full Path Name of Current Directory
_getdrive -- Get
Current Working Drive
mkdir -- Create New
Directory
rmdir -- Remove
Directory
<direct.h>