Unix-system-calls-chdir

提供:Dev Guides
移動先:案内検索

[top]#

[[File:]]

[[File:]]

|Web |This Site

  • 初心者向けのUnix *
  • 高度なUnix *

選択した読書

Copyright©2014 by finddevguides

  Home     References     Discussion Forums     About TP  

chdir()-Unix、Linuxシステムコール

[[File:]] image :http://www.finddevguides.com/images/next.gif [next] image:http://www.finddevguides.com/add- this.gif [AddThisソーシャルブックマークボタン]

広告

NAME

chdir、fchdir-作業ディレクトリの変更

概要

#include <unistd.h> int chdir(const char* path); int fchdir(int fd);

説明

*chdir* ()は、現在の作業ディレクトリを_path_で指定されたディレクトリに変更します。 *fchdir* ()は *chdir* ()と同じです。唯一の違いは、ディレクトリがオープンファイル記述子として指定されることです。

返り値

成功すると、ゼロが返されます。 エラーの場合、-1が返され、_errno_が適切に設定されます。

エラー

ファイルシステムによっては、他のエラーが返される場合があります。 chdir ()のより一般的なエラーを以下にリストします。

エラーコード

説明

*EACCES*

_path_のパスプレフィックス内のディレクトリの1つに対する検索許可が拒否されました。 ( path_resolution (2)も参照してください。)

*EFAULT*

_path_は、アクセス可能なアドレス空間の外側を指します。

*EIO*

I/Oエラーが発生しました。

*ELOOP*

_path_の解決中に検出されたシンボリックリンクが多すぎます。

*ENAMETOOLONG*

_path_が長すぎます。

*ENOENT*

ファイルが存在しません。

*ENOMEM*

カーネルメモリが不足していました。

*ENOTDIR*

_path_のコンポーネントはディレクトリではありません。

*fchdir* ()の一般的なエラーは次のとおりです。
*EACCES*

_fd_で開いているディレクトリで検索許可が拒否されました。

*EBADF*

_fd_は有効なファイル記述子ではありません。

ノート

*fork* (2)で作成された子プロセスは、親の現在の作業ディレクトリを継承します。 現在の作業ディレクトリは、 *execve* (2)によって変更されません。
*fchdir* ()のプロトタイプは、 *_ BSD_SOURCE* が定義されている場合、または *_XOPEN_SOURCE* が値500で定義されている場合にのみ使用可能です。

準拠

SVr4、4.4BSD、POSIX.1-2001。

関連項目

[[File:]] image :http://www.finddevguides.com/images/next.gif [next] [[File:]]

広告

  
Advertisements