_tempnam_dbg, _wtempnam_dbg

使用 malloc, _malloc_dbg的调试版本 _tempnam, _wtempnam, tmpnam, _wtmpnam 的功能版本。

char *_tempnam_dbg(
   const char *dir,
   const char *prefix,
   int blockType,
   const char *filename,
   int linenumber 
);
wchar_t *_wtempnam_dbg(
   const wchar_t *dir,
   const wchar_t *prefix,
   int blockType,
   const char *filename,
   int linenumber 
);

参数

  • dir
    用于文件名的路径; 如果没有 TMP 环境变量,或者,如果 TMP 不是有效的内容。

  • prefix
    将前面添加到名称的字符串。 _tempnam返回。

  • blockType
    请求的内存块类型: _CLIENT_BLOCK或 _NORMAL_BLOCK。

  • filename
    对请求分配操作或 NULL源文件的名称的指针。

  • linenumber
    在分配请求的操作或 NULL的源文件中的行号。

返回值

,如果有错误,每个函数返回指向该名称生成的或 NULL 。 ,如果在 dir 参数指定的,则 TMP 环境变量和无效目录名失败会发生此错误。

备注

free (或 free_dbg) 需要为 _tempnam_dbg 和 _wtempnam_dbg分配的指针调用。

备注

_tempnam_dbg和 _wtempnam_dbg功能与 _tempnam和 _wtempnam相同,区别在于,那么,当 _DEBUG定义时,这些功能使用 malloc 和 _malloc_dbg的调试版本,分配内存,如果 NULL 将作为第一个参数。 有关更多信息,请参见 _malloc_dbg

您不需要显式调用这些函数在许多情况下。 相反,您可以定义标志 _CRTDBG_MAP_ALLOC。 当 _CRTDBG_MAP_ALLOC 定义时,对 _tempnam ,并 _wtempnam 已重新映射到_tempnam_dbg 和 _wtempnam_dbg,分别,并 blockType 设置为 _NORMAL_BLOCK。 因此,,除非要标记堆块作为 _CLIENT_BLOCK,则无需显式调用这些函数。 有关更多信息,请参见 调试堆中的块类型

一般文本例程映射

TCHAR.H 实例

未定义的 _UNICODE _MBCS

定义的 _MBCS

定义的 _UNICODE

_ttempnam_dbg

_tempnam_dbg

_tempnam_dbg

_wtempnam_dbg

要求

实例

必需的头

_tempnam_dbg, _wtempnam_dbg

crtdbg.h

有关其他的兼容性信息,请参见中介绍的 兼容性

.NET Framework 等效项

不适用。若要调用标准 C 函数,请使用 PInvoke。有关更多信息,请参见 平台调用示例

请参见

参考

_tempnam, _wtempnam, tmpnam, _wtmpnam

流I/O

概念

堆分配函数的“Debug”版本