_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
回值表示錯誤,並將 ENOMEM
errno
設定為 ,表示記憶體不足而無法配置maxlen
位元組(當NULL
自變數指定為 buffer
時),或設定為 ERANGE
,表示路徑長度超過maxlen
字元。 如需詳細資訊,請參閱errno
, _doserrno
, _sys_errlist
和_sys_nerr
.
備註
_getdcwd_dbg
和 _wgetdcwd_dbg
函式與 _getdcwd
和 _wgetdcwd
相同,唯一不同的是當定義 _DEBUG
時,若 malloc
是作為 _malloc_dbg
參數進行傳遞,這些函式會使用偵錯版本的 NULL
和 buffer
來配置記憶體。 如需詳細資訊,請參閱_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> |
如需相容性詳細資訊,請參閱相容性。