次の方法で共有


_tempnam_dbg、_wtempnam_dbg

更新 : 2007 年 11 月

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 パラメータに無効なディレクトリ名を指定するとエラーが発生します。

6yfsyebs.alert_note(ja-jp,VS.90).gifメモ :

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

ストリーム入出力