_fullpath_dbg, _wfullpath_dbg
使用 malloc 的调试版本中分配内存 _fullpath, _wfullpath 的版本。
char *_fullpath_dbg(
char *absPath,
const char *relPath,
size_t maxLength,
int blockType,
const char *filename,
int linenumber
);
wchar_t *_wfullpath_dbg(
wchar_t *absPath,
const wchar_t *relPath,
size_t maxLength,
int blockType,
const char *filename,
int linenumber
);
参数
absPath
对包含绝对或完整路径名的缓冲区的指针或 NULL。relPath
相对路径名称。maxLength
绝对路径名缓冲区 (absPath) 的最大长度。 此长度。 _fullpath 的字节,但在宽字符 (wchar_t) _wfullpath的。blockType
请求的内存块类型: _CLIENT_BLOCK 或 _NORMAL_BLOCK。filename
对请求分配操作或 NULL源文件的名称的指针。linenumber
在分配请求的操作或 NULL的源文件中的行号。
返回值
每个函数返回指向包含绝对路径名 (absPath) 的缓冲区。 如果存在错误 (例如,因此,如果在 relPath 传递的值包括无效或无法找到的驱动器号,或者,如果创建的绝对路径名 (absPath) 的长度大于 maxLength) 函数返回 NULL。
备注
_fullpath_dbg 和 _wfullpath_dbg 功能与 _fullpath 和 _wfullpath 相同,区别在于,那么,当 **_**DEBUG定义时,这些功能使用 malloc, _malloc_dbg的调试版本,分配内存,如果为 null 将作为第一个参数。 有关 _malloc_dbg的信息调试功能,请参见 _malloc_dbg。
您不需要显式调用这些函数在许多情况下。 相反,您可以定义 _CRTDBG_MAP_ALLOC 标志。 当 _CRTDBG_MAP_ALLOC定义时,对 _fullpath ,并 _wfullpath已重新映射到 _fullpath_dbg 和 _wfullpath_dbg,分别,并 blockType 设置为 _NORMAL_BLOCK。 因此,,除非要标记堆块作为 _CLIENT_BLOCK,则无需显式调用这些函数。 有关更多信息,请参见 调试堆中的块类型。
一般文本例程映射
Tchar.h 实例 |
未定义的 _UNICODE 和 _MBCS |
定义的 _MBCS |
定义的 _UNICODE |
---|---|---|---|
_tfullpath_dbg |
_fullpath_dbg |
_fullpath_dbg |
_wfullpath_dbg |
要求
功能 |
必需的头 |
---|---|
_fullpath_dbg |
crtdbg.h |
_wfullpath_dbg |
crtdbg.h |
有关更多兼容性信息,请参见中介绍的 兼容性 。