_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 );
Valor retornado
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, confira Estado global no 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