_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 が有効なディレクトリにあるファイル名で使用されているパス。prefix
名前にアタッチされた文字列が _tempnam によって返される。blockType
メモリ ブロックの要求された型 : _CLIENT_BLOCK または _NORMAL_BLOCK。filename
ソース ファイルの名前へのポインター要求された割り当て操作または NULL。linenumber
割り当ての操作が要求または NULL のソース ファイルの行番号。
戻り値
エラーが発生した場合生成される名前または NULL 関数の戻り値へのポインター。エラーは複数の環境変数と dir のパラメーターで指定された無効なディレクトリ名が検出されたときに発生します。
[!メモ]
free (または) free_dbg_tempnam_dbg と _wtempnam_dbg によって割り当てられたポインターのために呼び出す必要があります。
解説
_tempnam_dbg と _wtempnam_dbg の 関数は _tempnam と _wtempnam と同じものですが_DEBUG が 定義されている場合NULL が最初のパラメーターとして渡されたこれらの関数でメモリを割り当てるために malloc と _malloc_dbg のデバッグ バージョンを使用します。詳細については、「_malloc_dbg」を参照してください。
ほとんどの場合これらの関数を明示的に呼び出す必要はありません。代わりにフラグ _CRTDBG_MAP_ALLOC を定義できます。_CRTDBG_MAP_ALLOC が定義されている場合_tempnam の呼び出しと _wtempnam は _NORMAL_BLOCK への blockType に設定 _tempnam_dbg と _wtempnam_dbg にそれぞれ再マップされます。したがって _CLIENT_BLOCKヒープのブロックを指定しない場合はこれらの関数を明示的に呼び出す必要はありません。詳細については、「デバッグ ヒープ上のメモリ ブロックの型」を参照してください。
汎用テキスト ルーチンのマップ
TCHAR.H のルーチン |
_UNICODE および _MBCS が未定義の場合 |
_MBCS が定義されている場合 |
_UNICODE が定義されている場合 |
---|---|---|---|
_ttempnam_dbg |
_tempnam_dbg |
_tempnam_dbg |
_wtempnam_dbg |
必要条件
ルーチン |
必須ヘッダー |
---|---|
_tempnam_dbg, _wtempnam_dbg |
<crtdbg.h> |
互換性の詳細については、「C ランタイム ライブラリ」の「互換性」を参照してください。
同等の .NET Framework 関数
該当なし標準 C 関数を呼び出すには、PInvoke を使用します。詳細については、「プラットフォーム呼び出しの例」を参照してください。
参照
関連項目
_tempnam、_wtempnam、tmpnam、_wtmpnam