chdir(2) FreeBSD 一般コマンドマニュアル

chdir

前のページ 上に戻る 次のページ

chdir




書式

     #include <unistd.h>

     int
     chdir(const char *path);

     int
     fchdir(int fd);


解説

     path 引数は、ディレクトリのパス名を指します。 chdir() 関数によって、指定
     されたディレクトリが現在の作業ディレクトリ、すなわちスラッシュ `/' で開始
     しないパス名のパス検索の開始点になります。

     fchdir() 関数によって、 fd が参照するディレクトリが現在の作業ディレクトリ
     (スラッシュ `/' で開始しないパス名のパス検索の開始点) になります。

     ディレクトリが現在の作業ディレクトリになるためには、プロセスがそのディレ
     クトリへの実行 (検索) アクセス許可を持っている必要があります。


戻り値

     成功して終了したときには値 0 を返します。そうでない場合、値 -1 が返され、
     グローバル変数 errno が設定されてエラーを示します。


エラー

     次の 1 つまたは複数が真の場合、 chdir() の処理は失敗し、現在の作業ディレ
     クトリは変更されません。

     [ENOTDIR]          パスの構成要素中にディレクトリ以外のものが含まれていま
                        す。

     [ENAMETOOLONG]     パス名の構成要素が 255 文字を越えているか、またはパス
                        名全体が 1023 文字を越えています。

     [ENOENT]           指定されたディレクトリが存在しません。

     [ELOOP]            パス名を変換するときに検出されたシンボリックリンクが多
                        すぎます。

     [EACCES]           パス名の構成要素のいずれかで、検索が許可されていませ
                        ん。

     [EFAULT]           path は、プロセスに割り当てられたアドレス空間の範囲外
                        を指しています。

     [EIO]              ファイルシステムに読み書きしている間に入出力エラーが発
                        生しました。

     次の 1 つまたは複数が真の場合、 fchdir() の処理は失敗し、現在の作業ディレ
     クトリは変更されません。

     chdir() 関数は Version 7 AT&T UNIX で登場しました。 fchdir() 関数は
     4.2BSD で登場しました。

FreeBSD 4.4                    December 11, 1993                   FreeBSD 4.4

ABELNET VPSサービス