デバッグ バージョンの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」を参照してください。