_fullpath_dbg、_wfullpath_dbg
更新 : 2007 年 11 月
メモリの割り当てに 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 ランタイム ライブラリ」の「互換性」を参照してください。