Linux |
CentOS 4.8 |
|
![]() |
fchdir(2) |
![]() |
|
chdir, fchdir − Changer le répertoire courant. |
|
#include <unistd.h> int chdir(const char *path); |
|
chdir remplace le répertoire courant par celui indiqué dans le chemin path. fchdir est identique à chdir, sauf que le répertoire cible est fourni sous forme de descripteur de fichier. |
|
chdir et fchdir renvoient 0 s’ils réussissent, ou −1 s’ils échouent, auquel cas errno contient le code d’erreur. |
|
Suivant le type de système de fichiers, plusieurs erreurs peuvent être renvoyées, les plus courantes pour chdir sont les suivantes : |
|
EFAULT |
path pointe en dehors de l’espace d’adressage accessible. |
|
ENAMETOOLONG |
|
path est trop long. |
|
ENOENT |
Le fichier n’existe pas. |
|
|
ENOMEM |
Pas assez de mémoire pour le noyau. |
|
|
ENOTDIR |
Un élément du chemin d’accès n’est pas un répertoire. |
|
|
EACCES |
L’accès n’est pas autorisé sur un élément du chemin. |
|
|
ELOOP |
path contient des références circulaires (à travers un lien symbolique). |
|
|
EIO |
Erreur générique d’entrée/sortie. |
|
Les erreurs courantes pour fchdir sont : |
|
EBADF |
fd n’est pas un descripteur de fichier valide. |
||
|
EACCES |
Le répertoire ouvert sur fd n’autorise pas le parcours. |
|
Le prototype de fchdir n’est disponible que si _BSD_SOURCE est défini (soit explicitement, soit implicitement en ne définissant pas _POSIX_SOURCE ou en compilant avec l’attribut -ansi). |
|
L’appel système chdir est compatible avec SVr4, SVID, POSIX, X/OPEN, et 4.4BSD. SVr4 décrit les conditions d’erreur supplémentaires EINTR, ENOLINK, et EMULTIHOP mais n’a pas d’erreur ENOMEM. POSIX.1 ne contient pas d’erreur ENOMEM ni ELOOP. X/OPEN ne décrit pas les erreurs EFAULT, ENOMEM ni EIO. L’appel système fchdir est compatible avec SVr4, 4.4BSD et X/OPEN. SVr4 ajoute les conditions d’erreur EIO, EINTR, et ENOLINK. X/OPEN ajoute EINTR et EIO. |
|
getcwd(3), chroot(2) |
|
Christophe Blaess, 1997. |
![]() |
fchdir(2) | ![]() |