%>

_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_dbgwchar_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>

有关兼容性的详细信息,请参阅 兼容性

另请参阅

%>
目录控制
堆分配函数的调试版本