次の方法で共有


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

  • 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 が定義されている場合に、最初のパラメーターとして NULL が渡されると、これらの関数はメモリを割り当てるために malloc および _malloc_dbg のデバッグ バージョンを使用する点が異なります。 詳細については、「_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

ディレクトリ制御

概念

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