_getdrive

Obtém a unidade de disco atual.

Importante

Esta API não pode ser usada em aplicativos executados no Windows Runtime. Para obter mais informações, confira Funções do CRT sem suporte em aplicativos da Plataforma Universal do Windows.

Sintaxe

int _getdrive( void );

Retornar valor

Retorna a unidade atual (padrão) (1 = A, B = 2 e assim por diante). Um valor retornado de zero significa que o caminho atual não começa com um nome de unidade de letra, como um caminho UNC. Ou significa que uma alocação de buffer interno falhou. Se uma alocação interna falhar, errno será definida como ENOMEM.

Comentários

Por padrão, o estado global dessa função tem como escopo o aplicativo. Para alterar esse comportamento, consulte Estado global na CRT.

Requisitos

Rotina Cabeçalho necessário
_getdrive <direct.h>

Para obter informações sobre compatibilidade, consulte Compatibilidade.

Exemplo

// 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:\)

Confira também

Controle de diretório
_chdrive
_getcwd, _wgetcwd
_getdcwd, _wgetdcwd