_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_BLOCKor _NORMAL_BLOCK.filename
割り当て操作を要求したソース ファイル名へのポインター、または NULL。linenumber
割り当て操作を要求したソース ファイル内の行番号、または NULL。
戻り値
各関数は、生成された名前へのポインターを返します。エラーの場合は NULL を返します。 TMP 環境変数または dir パラメーターに無効なディレクトリ名を指定するとエラーが発生します。
注意
free (または free_dbg) は、_tempnam_dbg と _wtempnam_dbg が割り当てたポインターを解放するために呼び出す必要があります。
解説
_tempnam_dbg と _wtempnam_dbg 関数は、_DEBUG が定義され、最初のパラメーターとして NULL が渡される場合に malloc のデバッグ バージョンと _malloc_dbg を使用してメモリを割り当てることを除いて、_tempnam と _wtempnam 関数と同じです。 詳細については、「_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> |
互換性の詳細については、「C ランタイム ライブラリ」の「互換性」を参照してください。
同等の .NET Framework 関数
該当なし標準 C 関数を呼び出すには、PInvoke を使用します。詳細については、「プラットフォーム呼び出しの例」を参照してください。
参照
参照
_tempnam、_wtempnam、tmpnam、_wtmpnam