共用方式為


_getdcwd_dbg, _wgetdcwd_dbg

_getdcwd錯版本的、 _wgetdcwd 函式(只能在偵錯期間使用)。

語法

char *_getdcwd_dbg(
   int drive,
   char *buffer,
   int maxlen,
   int blockType,
   const char *filename,
   int linenumber
);
wchar_t *_wgetdcwd_dbg(
   int drive,
   wchar_t *buffer,
   int maxlen,
   int blockType,
   const char *filename,
   int linenumber
);

參數

drive
磁碟機的名稱。

buffer
路徑的儲存位置。

maxlen
路徑的最大長度 (以字元為單位):char_getdcwd_dbg,以及 wchar_t_wgetdcwd_dbg

blockType
要求的記憶體區塊類型:_CLIENT_BLOCK_NORMAL_BLOCK

filename
要求配置作業之原始程式檔的名稱的指標,或為 NULL

linenumber
原始程式檔中的行號,其中要求配置作業,或為 NULL

傳回值

傳回 buffer的指標。 傳NULL回值表示錯誤,並將 ENOMEMerrno 設定為 ,表示記憶體不足而無法配置maxlen位元組(當NULL自變數指定為 buffer時),或設定為 ERANGE,表示路徑長度超過maxlen字元。 如需詳細資訊,請參閱errno, _doserrno, _sys_errlist_sys_nerr.

備註

_getdcwd_dbg_wgetdcwd_dbg 函式與 _getdcwd_wgetdcwd 相同,唯一不同的是當定義 _DEBUG 時,若 malloc 是作為 _malloc_dbg 參數進行傳遞,這些函式會使用偵錯版本的 NULLbuffer 來配置記憶體。 如需詳細資訊,請參閱_malloc_dbg

在大部分情況下,您不需要明確呼叫這些函式。 但您可以定義 _CRTDBG_MAP_ALLOC 旗標。 定義 _CRTDBG_MAP_ALLOC 時,呼叫 _getdcwd_wgetdcwd 會分別重新對應至 _getdcwd_dbg_wgetdcwd_dbg,且 blockType 會設為 _NORMAL_BLOCK。 因此,除非您想要將堆積區塊標示為 _CLIENT_BLOCK,否則您不需要明確地呼叫這些函式。 如需詳細資訊,請參閱偵錯堆積上的區塊類型

一般文字常式對應

Tchar.h 常式 _UNICODE_MBCS 未定義 _MBCS 已定義 _UNICODE 已定義
_tgetdcwd_dbg _getdcwd_dbg _getdcwd_dbg _wgetdcwd_dbg

需求

常式 必要的標頭
_getdcwd_dbg <crtdbg.h>
_wgetdcwd_dbg <crtdbg.h>

如需相容性詳細資訊,請參閱相容性

另請參閱

_getdcwd, _wgetdcwd
目錄控制件
堆積配置函式的偵錯版本