次の方法で共有


_fullpath_dbg、_wfullpath_dbg

メモリの割り当てに malloc のデバッグ バージョンを使用する _fullpath、_wfullpath のバージョンです。

char *_fullpath_dbg( 
   char *absPath,
   const char *relPath,
   size_t maxLength,
   int blockType,
   const char *filename,
   int linenumber 
);
wchar_t *_wfullpath_dbg( 
   wchar_t *absPath,
   const wchar_t *relPath,
   size_t maxLength,
   int blockType,
   const char *filename,
   int linenumber 
);

パラメーター

  • absPath
    絶対パス名つまり完全パス名を格納するバッファーへのポインター、または NULL。

  • relPath
    相対パス名。

  • maxLength
    絶対パス名のバッファー (absPath) の最大長。 _fullpath に対する長さはバイトですが、_wfullpath に対してはワイド文字 (wchar_t) です。

  • blockType
    要求されたメモリ ブロックのタイプです。_CLIENT_BLOCK または _NORMAL_BLOCK。

  • filename
    割り当て操作を要求したソース ファイル名へのポインター、または NULL。

  • linenumber
    割り当て操作を要求したソース ファイル内の行番号、または NULL。

戻り値

各関数は、絶対パス名を格納するバッファーへのポインター (absPath) を返します。 エラーが発生した場合は NULL を返します。エラーが発生する原因としては、relPath で渡した値のドライブ名が無効または見つからないことや、作成された絶対パス名 (absPath) が maxLength より長いことなどが考えられます。

解説

_fullpath_dbg と _wfullpath_dbg 関数は、**_**DEBUG が定義され、最初のパラメーターとして NULL が渡される場合に malloc のデバッグ バージョンである _malloc_dbg を使用してメモリを割り当てることを除いて、_fullpath と _wfullpath 関数と同じです。 _malloc_dbg のデバッグ機能の詳細については、「_malloc_dbg」を参照してください。

ほとんどの場合は、これらの関数を明示的に呼び出す必要はありません。 代わりに _CRTDBG_MAP_ALLOC フラグを定義します。 _CRTDBG_MAP_ALLOC が定義されている場合、_fullpath および _wfullpath への呼び出しはそれぞれ _fullpath_dbg および _wfullpath_dbg に再割り当てされます。このとき、blockType は _NORMAL_BLOCK に設定されます。 したがって、ヒープ ブロックを _CLIENT_BLOCK としてマークする場合を除き、これらの関数を明示的に呼び出す必要はありません。 詳細については、「デバッグ ヒープ上のメモリ ブロックの型」を参照してください。

汎用テキスト ルーチンのマップ

Tchar.h のルーチン

_UNICODE および _MBCS が未定義の場合

_MBCS が定義されている場合

_UNICODE が定義されている場合

_tfullpath_dbg

_fullpath_dbg

_fullpath_dbg

_wfullpath_dbg

必要条件

機能

必須ヘッダー

_fullpath_dbg

<crtdbg.h>

_wfullpath_dbg

<crtdbg.h>

互換性の詳細については、「C ランタイム ライブラリ」の「互換性」を参照してください。

同等の .NET Framework 関数

Create

参照

参照

ファイル処理

_fullpath、_wfullpath

概念

デバッグ バージョンのヒープ割り当て関数