次の方法で共有


_tempnam_dbg, _wtempnam_dbg

malloc_malloc_dbgのデバッグ バージョンを使用する_tempnam_wtempnamtmpnam_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 。 TMP 環境変数と dir パラメーターに無効なディレクトリ名が指定されている場合、エラーが発生する可能性があります。

Note

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>

互換性の詳細については、「 Compatibility」を参照してください。

関連項目

_tempnam_wtempnamtmpnam_wtmpnam
ストリーム入出力
デバッグ バージョンのヒープ割り当て関数