_fullpath_dbg
, _wfullpath_dbg
デバッグ バージョンのmalloc
を使用してメモリを割り当てる_wfullpath
、_fullpath
のバージョン。
構文
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_dbg
の場合はバイト単位ですが、wchar_t
の場合はワイド文字単位 (_wfullpath_dbg
) です。
blockType
要求するメモリ ブロックの種類。_CLIENT_BLOCK
または _NORMAL_BLOCK
。
filename
割り当て操作を要求したソース ファイル名へのポインターまたは NULL
。
linenumber
割り当て操作が要求されたソース ファイル内の行番号または NULL
。
戻り値
各関数は、絶対パス名 (absPath
) を格納するバッファーへのポインターを返します。 エラーが発生した場合 (たとえば、 relPath
に渡された値に有効でないドライブ文字や見つからないドライブ文字が含まれている場合、または作成された絶対パス名 (absPath
) の長さが maxLength
を超える場合)、関数は NULL
を返します。
解説
_fullpath_dbg
関数と_wfullpath_dbg
関数は、_fullpath
および_wfullpath
と同じですが、_DEBUG
が定義されている場合、これらの関数はmalloc
のデバッグ バージョン_malloc_dbg
を使用して、NULL
が最初のパラメーターとして渡された場合にメモリを割り当てます。 _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> |
互換性の詳細については、「 Compatibility」を参照してください。