偵 _getcwd錯版本的、 _wgetcwd 函式(只能在偵錯期間使用)。
語法
char *_getcwd_dbg(
char *buffer,
int maxlen,
int blockType,
const char *filename,
int linenumber
);
wchar_t *_wgetcwd_dbg(
wchar_t *buffer,
int maxlen,
int blockType,
const char *filename,
int linenumber
);
參數
buffer
路徑的儲存位置。
maxlen
路徑的最大長度 (以字元為單位):char 的 _getcwd_dbg,以及 wchar_t 的 _wgetcwd_dbg。
blockType
要求的記憶體區塊類型:_CLIENT_BLOCK 或 _NORMAL_BLOCK。
filename
要求配置作業之原始程式檔的名稱的指標,或為 NULL。
linenumber
原始程式檔中的行號,其中要求配置作業,或為 NULL。
傳回值
傳回 buffer的指標。 傳NULL回值表示錯誤,並將 ENOMEMerrno 設定為 ,表示記憶體不足而無法配置maxlen位元組(當NULL自變數指定為 buffer時),或設定為 ERANGE,表示路徑長度超過maxlen字元。
如需詳細資訊,請參閱errno, _doserrno, _sys_errlist和_sys_nerr.
備註
和函_getcwd_dbg式與 _getcwd 和 _wgetcwd 函式相同,但定義時_DEBUG,這些函式會使用的偵錯版本malloc_malloc_dbg,並在 傳遞為第一個參數時NULL配置_wgetcwd_dbg記憶體。 如需詳細資訊,請參閱_malloc_dbg。
在大部分情況下,您不需要明確呼叫這些函式。 但您可以定義 _CRTDBG_MAP_ALLOC 旗標。 定義 _CRTDBG_MAP_ALLOC 時,呼叫 _getcwd 和 _wgetcwd 會分別重新對應至 _getcwd_dbg 和 _wgetcwd_dbg,且 blockType 會設為 _NORMAL_BLOCK。 因此,除非您想要將堆積區塊標示為 _CLIENT_BLOCK,否則您不需要明確地呼叫這些函式。 如需詳細資訊,請參閱偵錯堆積上的區塊類型。
泛型文字例程對應
| Tchar.h 常式 | _UNICODE 和 _MBCS 未定義 |
_MBCS 已定義 |
_UNICODE 已定義 |
|---|---|---|---|
_tgetcwd_dbg |
_getcwd_dbg |
_getcwd_dbg |
_wgetcwd_dbg |
需求
| 常式 | 必要的標頭 |
|---|---|
_getcwd_dbg |
<crtdbg.h> |
_wgetcwd_dbg |
<crtdbg.h> |
如需相容性詳細資訊,請參閱相容性。