_getdcwd, _wgetdcwd

Возвращает полный путь текущей рабочей папки на указанном диске.

Важное примечаниеВажно

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

char *_getdcwd( 
   int drive,
   char *buffer,
   int maxlen 
);
wchar_t *_wgetdcwd( 
   int drive,
   wchar_t *buffer,
   int maxlen 
);

Параметры

  • drive
    Неотрицательное целое число, определяющее диск (0 = диск по умолчанию, 1 = a, B = 2 и т д).

    Если указанный диск недоступен или тип диска (например, удаляемый, фиксированный, компакт-диск, электронный диск или сетевой диск) не могут быть определены, то обработчик недопустимого параметра, как описано в Проверка параметров, вызывается.

  • buffer
    Место хранения для пути, или NULL.

    Если указано значение NULL, то эта функция выделяет буфер не менее maxlen с помощью malloc, возвращаемое значение _getdcwd указатель на выбранный буфер.Буфера может быть удаленного путем вызова метода free и передачи ему указатель.

  • maxlen
    Отлично от нуля положительное целое число, определяющее максимальную длину пути, в символах. char для _getdcwd и wchar_t для _wgetdcwd.

    Если maxlen не больше нуля, то обработчик недопустимого параметра, как описано в Проверка параметров, вызывается.

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

Указатель на строку, которая представляет полный путь текущей рабочей папки на указанном диске, или NULL, который указывает на ошибку.

Если указано значение buffer, как NULL, а также недостаточно памяти для выделения символов maxlen, возникает ошибка и для параметра errno установлено значение ENOMEM.Если длина пути, включая конечное нуль-символ, превышает maxlen, возникает ошибка и для параметра errno установлено значение ERANGE.Дополнительные сведения об этих кодах ошибок см. в разделе errno, _doserrno, _sys_errlist и _sys_nerr.

Заметки

Функция _getdcwd возвращает полный путь текущей рабочей папки на указанном диске и сохраняет его в buffer.Если текущая рабочая папка находится в корень, строка заканчивается обратной косой черты (\).Если рабочая папка находится в каталоге, отличном от корня, то строка заканчивается именем каталога и не с обратной косой черты.

версия _wgetdcwd является _getdcwd, и его параметр и возвращаемое значение buffer характерные черты.В противном случае - _wgetdcwd и _getdcwd работают одинаково.

Эта функция потокобезопасна, даже если она зависит от GetFullPathName, которая сама не потокобезопасна.Однако можно нарушьте потокобезопасность при условии, что многопоточного приложения вызывает и этой функции и GetFullPathName.Дополнительные сведения см. на и Библиотека MSDN затем выполняет поиск объекта GetFullPathName.

Версия этой функции с суффикс _nolock работает идентично этой функции, за исключением того, что он не потокобезопасна и не защищен от взаимодействия другим потокам.Для получения дополнительной информации см. _getdcwd_nolock, _wgetdcwd_nolock.

Если _DEBUG и _CRTDBG_MAP_ALLOC определены, вызовы методов _getdcwd и _wgetdcwd заменяются вызовом функции _getdcwd_dbg и _wgetdcwd_dbg, чтобы отладки выделения памяти.Дополнительные сведения см. в разделе _getdcwd_dbg, _wgetdcwd_dbg.

Универсальное текстовое сопоставление функций

Подпрограмма TCHAR.H

Не указаны _UNICODE и _MBCS

определенные _MBCS

Определение _UNICODE

_tgetdcwd

_getdcwd

_getdcwd

_wgetdcwd

Требования

Функция

Требуемый заголовок

_getdcwd

<direct.h>

_wgetdcwd

<direct.h> или <wchar.h>

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

Пример

См. пример в разделе _getdrive.

Эквивалент в .NET Framework

System::Environment::CurrentDirectory

См. также

Ссылки

Управление каталога

_chdir, _wchdir

_getcwd, _wgetcwd

_getdrive

_mkdir, _wmkdir

_rmdir, _wrmdir