_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

有关更多兼容性信息,请参见中介绍的 兼容性

.NET Framework 等效项

CurrentDirectory

请参见

参考

_getcwd, _wgetcwd

内容控件

概念

堆分配函数的“Debug”版本