Collapse the table of content
Expand the table of content
Important This document may not represent best practices for current development, links to downloads and other resources may no longer be valid. Current recommended version can be found here. ArchiveDisclaimer


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:\)
© 2015 Microsoft