_chdir、_wchdir
現在の作業ディレクトリを変更します。
重要 |
---|
この API は、Windows のランタイムで実行するアプリケーションで使用することはできません。詳細については、でサポート /ZW CRT 関数" "を参照してください。 |
int _chdir(
const char *dirname
);
int _wchdir(
const wchar_t *dirname
);
パラメーター
- dirname
新しい作業ディレクトリのパス。
戻り値
これらの関数は、成功した場合、値 0 を返します。–1 の戻り値は失敗を示します。指定したパスが検索できない場合 errnoは ENOENTに設定されます。dirname が null の場合、無効なパラメーター ハンドラーが パラメーターの検証に説明されているように、開始されます。実行の継続が許可 errnoは EINVALおよび関数の戻り値の -1 に設定されます。
解説
ディレクトリに対する現在の作業ディレクトリが dirnameで指定した _chdirの関数が。dirname のパラメーターは、既存のディレクトリを示す必要があります。この関数は、ドライブの現在の作業ディレクトリを変更できます。新しいドライブ文字の dirnameに指定されている既定のドライブ文字は同様に変更されます。たとえば、A が既定のドライブ文字にし、\BIN が現在の作業ディレクトリの場合、次の呼び出しの変更は、新しい既定のドライブとしてドライブの C の現在の作業ディレクトリ C を確立し、:
_chdir("c:\\temp");
省略可能なパスに円記号 (\) を使用すると、C++.のリテラル文字列に一つの円記号 (\) を表すために 2 個 (\\) を設定する必要があります。
_wchdirは _chdirのワイド文字バージョンです; _wchdirへの dirname の引数は、文字列. _wchdirで、_chdirは、同じです。
汎用テキスト ルーチンのマップ
Tchar.h のルーチン |
_UNICODE および _MBCS が未定義の場合 |
_MBCS が定義されている場合 |
_UNICODE が定義されている場合 |
---|---|---|---|
_tchdir |
_chdir |
_chdir |
_wchdir |
必要条件
ルーチン |
必須ヘッダー |
オプション ヘッダー |
---|---|---|
_chdir |
<direct.h> |
<errno.h> |
_wchdir |
<direct.h> か <wchar.h> |
<errno.h> |
互換性の詳細については、「C ランタイム ライブラリ」の「互換性」を参照してください。
使用例
// crt_chdir.c
// arguments: C:\WINDOWS
/* This program uses the _chdir function to verify
that a given directory exists. */
#include <direct.h>
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
int main( int argc, char *argv[] )
{
if(_chdir( argv[1] ) )
{
switch (errno)
{
case ENOENT:
printf( "Unable to locate the directory: %s\n", argv[1] );
break;
case EINVAL:
printf( "Invalid buffer.\n");
break;
default:
printf( "Unknown error.\n");
}
}
else
system( "dir *.exe");
}
同等の .NET Framework 関数
System::Environment::CurrentDirectory