chdir
Dir.h:インデックス への移動
ヘッダー ファイル
dir.h
カテゴリ
ディレクトリ制御ルーチン
プロトタイプ
int chdir(const char *path);
int _wchdir(const wchar_t *path);
説明
現在のディレクトリを変更します。
chdir は、path で指定されたディレクトリを、現在の作業ディレクトリにします。path は、既存のディレクトリを指定しなければなりません。
path 引数には、次のようにドライブも指定することができますが、
chdir("a:\\BC");
このメソッドは、そのドライブ上の現在のディレクトリを変更するのみで、ドライブまでは変更できません。
- Windows では、現在のプロセスのみに効果があります。
戻り値
正常に終了した場合、chdir は、値 0 を返します。そうでなければ、値 -1 が返され、グローバル変数 errno には次の値が設定されます
ENOENT |
パスまたはファイル名が見つからない |
例
#include <stdio.h>
#include <stdlib.h>
#include <dir.h>
char old_dir[MAXDIR];
char new_dir[MAXDIR];
int main(void)
{
if (getcurdir(0, old_dir))
{
perror("getcurdir()");
exit(1);
}
printf("Current directory is: \\%s\n", old_dir);
if (chdir("\\"))
{
perror("chdir()");
exit(1);
}
if (getcurdir(0, new_dir))
{
perror("getcurdir()");
exit(1);
}
printf("Current directory is now: \\%s\n", new_dir);
printf("\nChanging back to original directory: \\%s\n", old_dir);
if (chdir(old_dir))
{
perror("chdir()");
exit(1);
}
return 0;
}
移植性
POSIX | Win32 | ANSI C | ANSI C++ | |
---|---|---|---|---|
chdir |
+ |
+ |
||
_wchdir |
NT のみ |