Sdílet prostřednictvím


_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