_getcwd_dbg
, _wgetcwd_dbg
_getcwd
、_wgetcwd
関数のバージョンをデバッグします (デバッグ中にのみ使用できます)。
構文
char *_getcwd_dbg(
char *buffer,
int maxlen,
int blockType,
const char *filename,
int linenumber
);
wchar_t *_wgetcwd_dbg(
wchar_t *buffer,
int maxlen,
int blockType,
const char *filename,
int linenumber
);
パラメーター
buffer
パスの格納場所。
maxlen
文字数でのパスの最大長。char
の場合は _getcwd_dbg
、および wchar_t
の場合は _wgetcwd_dbg
。
blockType
要求するメモリ ブロックの種類。_CLIENT_BLOCK
または _NORMAL_BLOCK
。
filename
割り当て操作を要求したソース ファイル名へのポインターまたは NULL
。
linenumber
割り当て操作が要求されたソース ファイル内の行番号または NULL
。
戻り値
buffer
へのポインターを返します。 NULL
戻り値はエラーを示し、errno
はENOMEM
に設定されます。これは、maxlen
バイトを割り当てるメモリが不足していることを示します (NULL
引数がbuffer
として指定されている場合)、またはERANGE
してパスがmaxlen
文字より長くなっていることを示します。
詳細については、「errno
」、「_doserrno
」、「_sys_errlist
」、および「_sys_nerr
」を参照してください。
解説
_getcwd_dbg
関数と_wgetcwd_dbg
関数は、_getcwd
および_wgetcwd
と同じですが、_DEBUG
が定義されている場合、これらの関数はデバッグ バージョンの malloc
と_malloc_dbg
を使用して、NULL
が最初のパラメーターとして渡された場合にメモリを割り当てます。 詳細については、_malloc_dbg
を参照してください。
ほとんどの場合、これらの関数を明示的に呼び出す必要はありません。 代わりに、_CRTDBG_MAP_ALLOC
フラグを定義できます。 _CRTDBG_MAP_ALLOC
が定義されている場合、_getcwd
および _wgetcwd
の呼び出しはそれぞれ _getcwd_dbg
および _wgetcwd_dbg
にマップし直され、blockType
が _NORMAL_BLOCK
に設定されます。 したがって、ヒープ ブロックを _CLIENT_BLOCK
としてマークしない限り、これらの関数を明示的に呼び出す必要はありません。 詳細については、デバッグ ヒープ上のメモリ ブロックの型に関する記事をご覧ください。
汎用テキスト ルーチン マッピング
Tchar.h のルーチン | _UNICODE と _MBCS が定義されていない |
_MBCS が定義されている |
_UNICODE が定義されている |
---|---|---|---|
_tgetcwd_dbg |
_getcwd_dbg |
_getcwd_dbg |
_wgetcwd_dbg |
要件
ルーチンによって返される値 | 必須ヘッダー |
---|---|
_getcwd_dbg |
<crtdbg.h> |
_wgetcwd_dbg |
<crtdbg.h> |
互換性の詳細については、「 Compatibility」を参照してください。