_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。 詳細についてを参照してくださいGetFullPathNameでMSDN ライブラリ。
この関数のバージョンは、_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
参照
参照
履歴の変更
日付 |
History |
理由 |
---|---|---|
2010 年 10 月 |
無効なドライブ指定と結果のエラー処理を定義します。 スレッドの安全性の要件を指定します。 いくつかの説明を明らかにしました。 |
情報の拡充 |