Gets the current disk drive.

int _getdrive( void );

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


Required header



For more compatibility information, see Compatibility in the Introduction.

// crt_getdrive.c
// compile with: /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 );
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:\)

Community Additions