次の方法で共有


_getdcwd_dbg、_wgetdcwd_dbg

_getdcwd、_wgetdcwd 関数のデバッグ バージョン (デバッグ中のみ使用可能)。

char *_getdcwd_dbg(
   int drive,
   char *buffer,
   int maxlen,
   int blockType,
   const char *filename,
   int linenumber 
);
wchar_t *_wgetdcwd_dbg(
   int drive,
   wchar_t *buffer,
   int maxlen,
   int blockType,
   const char *filename,
   int linenumber 
);

パラメーター

  • drive
    ディスク ドライブの名前。

  • buffer
    パスの格納場所。

  • maxlen
    文字のパスの最大長:charfor _getdcwd_dbgand wchar_tfor _wgetdcwd_dbg.

  • blockType
    メモリ ブロックの型を要求しました。_CLIENT_BLOCKor _NORMAL_BLOCK.

  • filename
    割り当て操作を要求したソース ファイル名へのポインター、または NULL。

  • linenumber
    割り当て操作を要求したソース ファイル内の行番号、または NULL。

戻り値

buffer へのポインターを返します。 エラーが発生した場合は NULL を返します。また、errno は、maxlen バイトに割り当てるメモリが不十分であることを示す場合 (buffer として NULL 引数を指定した場合) は ENOMEM に設定され、maxlen で指定した文字数よりパスが長い場合は ERANGE に設定されます。 詳細については、「errno、_doserrno、_sys_errlist、および _sys_nerr」を参照してください。

解説

_getdcwd_dbg 関数および _wgetdcwd_dbg 関数は、_getdcwd および _wgetdcwd と同じです。ただし、_DEBUG が定義されている場合は除きます。_DEBUG が定義されている場合、これらの関数は、NULL が buffer パラメーターとして渡されると、デバッグ バージョンの malloc および _malloc_dbg を使用してメモリを割り当てます。 詳細については、「_malloc_dbg」を参照してください。

ほとんどの場合は、これらの関数を明示的に呼び出す必要はありません。 代わりに _CRTDBG_MAP_ALLOC フラグを定義します。 _CRTDBG_MAP_ALLOC が定義されている場合、_getdcwd および _wgetdcwd の呼び出しはそれぞれ _getdcwd_dbg および _wgetdcwd_dbg に再び割り当てられます。このとき、blockType は _NORMAL_BLOCK に設定されます。 したがって、ヒープ ブロックを _CLIENT_BLOCK としてマークする場合を除き、これらの関数を明示的に呼び出す必要はありません。 詳細については、「デバッグ ヒープ上のメモリ ブロックの型」を参照してください。

汎用テキスト ルーチンのマップ

Tchar.h のルーチン

_UNICODE および _MBCS が未定義の場合

_MBCS が定義されている場合

_UNICODE が定義されている場合

_tgetdcwd_dbg

_getdcwd_dbg

_getdcwd_dbg

_wgetdcwd_dbg

必要条件

ルーチン

必須ヘッダー

_getdcwd_dbg

<crtdbg.h>

_wgetdcwd_dbg

<crtdbg.h>

互換性の詳細については、「C ランタイム ライブラリ」の「互換性」を参照してください。

同等の .NET Framework 関数

Environment.CurrentDirectory

参照

参照

_getdcwd、_wgetdcwd

ディレクトリ制御

概念

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