Export (0) Print
Expand All

_getdrive

Gets the current disk drive.

int _getdrive( void );

Return Value

Returns the current (default) drive (1=A, 2=B, and so on). There is no error return.

Requirements

Routine Required header Compatibility
_getdrive <direct.h> Win 98, Win Me, Win NT, Win 2000, Win XP

For additional compatibility information, see Compatibility in the Introduction.

Libraries

All versions of the C run-time libraries.

Example

// crt_getdrive.c
/* Illustrates drive functions including:
 *      _getdrive       _chdrive        _getdcwd
 */

#include <stdio.h>
#include <direct.h>
#include <stdlib.h>
#include <ctype.h>

int main( void )
{
   int ch, drive, curdrive;
   static char path[_MAX_PATH];

   /* Save current drive. */
   curdrive = _getdrive();

   printf( "Available drives are:\n" );

   /* If we can switch to the drive, it exists. */
   for( drive = 1; drive <= 26; drive++ )
   {
      if( !_chdrive( drive ) )
      {
         printf( "%c:", drive + 'A' - 1 );
         if( _getdcwd( drive, path, _MAX_PATH ) != NULL )
            printf( " (Current directory is %s)", path );
         putchar( '\n' );
      }
   }

   /* Restore original drive.*/
   _chdrive( curdrive );
}

Sample Output

Available drives are:
A: (Current directory is A:\)
C: (Current directory is C:\)
E: (Current directory is E:\testdir\bin)
F: (Current directory is F:\)
G: (Current directory is G:\)

See Also

Directory Control Routines | _chdrive | _getcwd | _getdcwd | Run-Time Routines and .NET Framework Equivalents

Show:
© 2014 Microsoft