_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
文字のパスの最大長:charfor _getcwd_dbg and wchar_t for _wgetcwd_dbg.blockType
メモリ ブロックの型を要求しました。_CLIENT_BLOCK または _NORMAL_BLOCK。filename
割り当て操作を要求したソース ファイル名へのポインター、または NULL。linenumber
割り当て操作を要求したソース ファイル内の行番号、または NULL。
戻り値
buffer へのポインターを返します。 エラーが発生した場合は NULL を返し、errno は ENOMEM または ERANGE に設定されます。前者は maxlen バイトを割り当てるにはメモリが不十分であることを示し (buffer を NULL に指定した場合)、後者はパスが maxlen で指定された文字数より長いことを示します。
詳細については、「errno、_doserrno、_sys_errlist、および _sys_nerr」を参照してください。
解説
_getcwd_dbg と _wgetcwd_dbg 関数は、_DEBUG が定義され、最初のパラメーターとして NULL が渡される場合に malloc のデバッグ バージョンと _malloc_dbg を使用してメモリを割り当てることを除いて、_getcwd と _wgetcwd 関数と同じです。 詳細については、「_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> |
互換性の詳細については、「C ランタイム ライブラリ」の「互換性」を参照してください。