_getdrive
Získá aktuální diskovou jednotku.
Důležité
Toto rozhraní API nelze použít v aplikacích, které se spouští v prostředí Windows Runtime. Další informace najdete v tématu Funkce CRT, které nejsou v aplikacích Univerzální platforma Windows podporované.
Syntaxe
int _getdrive( void );
Vrácená hodnota
Vrátí aktuální (výchozí) jednotku (1=A, 2=B atd.). Návratová hodnota nuly znamená, že aktuální cesta nezačíná názvem jednotky písmen, například cestou UNC. Nebo to znamená, že přidělení interní vyrovnávací paměti selhalo. Pokud dojde k selhání interního přidělení, errno
nastaví se na hodnotu ENOMEM.
Poznámky
Ve výchozím nastavení je globální stav této funkce vymezen na aplikaci. Chcete-li toto chování změnit, přečtěte si téma Globální stav v CRT.
Požadavky
Rutina | Požadovaný hlavičkový soubor |
---|---|
_getdrive |
<direct.h> |
Další informace o kompatibilitě najdete v tématu Kompatibilita.
Příklad
// 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:\)
Viz také
Ovládací prvek adresář
_chdrive
_getcwd
, _wgetcwd
_getdcwd
, _wgetdcwd