_getcwd_dbg, _wgetcwd_dbg
调试 _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
路径的最大长度的字符: _getcwd_dbg 的 _wgetcwd_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。
备注
_getcwd_dbg 和 _wgetcwd_dbg 功能与 _getcwd 和 _wgetcwd 相同,区别在于,那么,当 _DEBUG 定义时,这些功能使用 malloc 和 _malloc_dbg 的调试版本中分配内存,如果 NULL 将作为第一个参数。 有关更多信息,请参见 _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 |
有关更多兼容性信息,请参见中介绍的 兼容性 。