_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
。 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
、 _wtempnam
、 tmpnam
、 _wtmpnam
ストリーム入出力
デバッグ バージョンのヒープ割り当て関数