Поделиться через


_getdrive

Получает текущий диск.

Важно!

Этот API нельзя использовать в приложениях, выполняемых в среде выполнения Windows. Дополнительные сведения: Функции CRT, которые не поддерживаются в приложениях универсальной платформы Windows.

Синтаксис

int _getdrive( void );

Возвращаемое значение

Возвращает текущий (используемый по умолчанию) диск (1=A, 2=B и т. д). Возвращаемое значение равно нулю означает, что текущий путь не начинается с имени диска буквы, например UNC-пути. Или это означает, что сбой выделения внутреннего буфера. Если внутреннее выделение завершается ошибкой, errno устанавливается значение ENOMEM.

Замечания

По умолчанию глобальное состояние этой функции ограничивается приложением. Чтобы изменить это поведение, см . статью "Глобальное состояние" в CRT.

Требования

Маршрут Обязательный заголовок
_getdrive <direct.h>

Дополнительные сведения о совместимости см. в разделе Совместимость.

Пример

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

См. также

Элемент управления каталогом
_chdrive
_getcwd, _wgetcwd
_getdcwd, _wgetdcwd