_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
路径的最大长度的字符: _getdcwd_dbg的 _wgetdcwd_dbg的 char 和 wchar_t。blockType
请求的内存块类型: _CLIENT_BLOCK或 _NORMAL_BLOCK。filename
对请求分配操作或 NULL源文件的名称的指针。linenumber
在分配请求的操作或 NULL的源文件中的行号。
返回值
返回指向 buffer。 NULL 返回值指示错误,并且, errno 设置为任一对 ENOMEM,指示有分配内存不足 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 |
有关更多兼容性信息,请参见中介绍的 兼容性 。