Share via


_getcwd_dbg、_wgetcwd_dbg

更新 : 2007 年 11 月

_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
    パスの最大長 (文字数)。_getcwd_dbg の場合は char、_wgetcwd_dbg の場合は wchar_t です。

  • 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 ランタイム ライブラリ」の「互換性」を参照してください。

.NET Framework の相当するアイテム

CurrentDirectory

参照

概念

デバッグ バージョンのヒープ割り当て関数

参照

_getcwd、_wgetcwd

ディレクトリ制御