%>
_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
返回值指示错误,并将 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> |
有关兼容性的详细信息,请参阅 兼容性。
另请参阅
%>
目录控制
堆分配函数的调试版本