次の方法で共有


_getdcwd、_wgetdcwd

更新 : 2010 年 10 月

作業ディレクトリの完全パスで指定したドライブを取得します。

char *_getdcwd( 
   int drive,
   char *buffer,
   int maxlen 
);
wchar_t *_wgetdcwd( 
   int drive,
   wchar_t *buffer,
   int maxlen 
);

パラメーター

  • drive
    ドライブを指定する負でない整数 (0 = 既定ドライブ、1 = が、2 = B など)。

    指定したドライブがない場合、またはドライブの種類 (例、リムーバブル、固定、CD-ROM、RAM ディスク、またはネットワーク ドライブ) を判断できずに記載されている、無効なパラメーター ハンドラーをパラメーターの検証、呼び出されます。

  • buffer
    保存場所のパス、またはNULL

    場合NULLが指定されると、この関数は、少なくとものバッファーを割り当てますmaxlenを使用してサイズmalloc、および戻り値の_getdcwdが割り当てられたバッファーへのポインターです。 呼び出すことによって、バッファーを解放することができますfreeポインターを渡す。

  • maxlen
    文字、パスの最大長を指定する 0 以外の正の整数:charfor _getdcwd and wchar_t for _wgetdcwd.

    場合maxlenに記載されている無効なパラメーター ハンドラーは、0 より大きい場合はパラメーターの検証、呼び出されます。

戻り値

指定したドライブ上の作業ディレクトリの完全なパスを表す文字列へのポインターまたはNULL、エラーを示します。

場合bufferとして指定されているNULLとを割り当てるメモリが不足してmaxlen文字、エラーが発生してerrnoに設定されているENOMEM。 終端の null 文字を含むパスの長さを超える場合maxlen、エラーが発生し、errnoに設定されているERANGE。 これらのエラー コードの詳細についてを参照してくださいerrno、_doserrno、_sys_errlist、および _sys_nerr

解説

_getdcwd関数は、指定したドライブ上の作業ディレクトリの完全パスを取得し、それを格納buffer。 作業ディレクトリがルートに設定されている場合は、文字列に円記号 (\) を終了します。 作業ディレクトリがルート以外のディレクトリに設定されている場合は、ディレクトリの名前とは、バック スラッシュではなく、文字列を終了します。

_wgetdcwdワイド文字バージョンです_getdcwd、およびbufferパラメーターと戻り値はワイド文字の文字列。 それ以外では、_wgetdcwd と _getdcwd の動作は同じです。

それに依存しているにもかかわらずこの関数はスレッド セーフですGetFullPathName、自体はスレッド セーフです。 ただし、マルチ スレッド アプリケーションが両方この関数を呼び出す場合スレッドの安全性を侵害することができ、GetFullPathName。 詳細についてを参照してくださいGetFullPathNameMSDN ライブラリ

この関数のバージョンは、_nolockサフィックス動作同じこの関数にはスレッド セーフではありません、他のスレッドからの干渉が保護されていません。 詳細については、「_getdcwd_nolock、_wgetdcwd_nolock」を参照してください。

ときに_DEBUGと_CRTDBG_MAP_ALLOCを呼び出し、定義されている_getdcwdと_wgetdcwdへの呼び出しに置き換えられます_getdcwd_dbgと_wgetdcwd_dbgメモリ割り当てをデバッグすることができますように。 詳細については、「_getdcwd_dbg、_wgetdcwd_dbg」を参照してください。

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

Tchar.h のルーチン

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

_MBCS が定義されている場合

_UNICODE が定義されている場合

_tgetdcwd

_getdcwd

_getdcwd

_wgetdcwd

必要条件

ルーチン

必須ヘッダー

_getdcwd

<direct.h>

_wgetdcwd

<direct.h> または <wchar.h>

互換性の詳細についてを参照してください互換性

使用例

例を参照してください_getdrive

同等の .NET Framework 関数

System::Environment::CurrentDirectory

参照

参照

ディレクトリ制御

_chdir、_wchdir

_getcwd、_wgetcwd

_getdrive

_mkdir、_wmkdir

_rmdir、_wrmdir

履歴の変更

日付

History

理由

2010 年 10 月

無効なドライブ指定と結果のエラー処理を定義します。 スレッドの安全性の要件を指定します。 いくつかの説明を明らかにしました。

情報の拡充