_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