table of contents
CHDIR(2) | Linux - příručka Programátora | CHDIR(2) |
JMÉNO¶
chdir, fchdir - změna pracovního adresáře
SYNTAXE¶
#include <unistd.h>
int chdir(const char *path);
int fchdir(int fd);
Požaduje množinu testovacích maker pro glibc (viz feature_test_macros(7)):
fchdir(): _BSD_SOURCE || _XOPEN_SOURCE >= 500
POPIS¶
chdir () změní současný adresář na adresář specifikovaný v path.
fchdir () má tutéž funkci jako chdir (), pouze s tím rozdílem, že adresář je zadán jako otevřený deskriptor souboru.
NÁVRATOVÁ HODNOTA¶
Bylo-li volání úspěšné, je vrácena nula, jinak -1 a je nastavena proměnná errno.
CHYBY¶
V závislosti na druhu souborového systému mohou být vráceny i jiné chyby. Nejobvyklejší chyby pro chdir jsou vypsány zde:
- EPERM
- Proces nemá právo na vstup do adresáře (execute permission).
- EFAULT
- path ukazuje mimo vám přístupný adresový prostor.
- EIO
- Objevila se vstup/výstupní chyba.
- ENAMETOOLONG
- path je příliš dlouhá.
- EBADF
- Deskriptor souboru fd není platný.
- ENOENT
- Soubor neexistuje.
- ENOMEM
- Nedostatek paměti pro kernel.
- ENOTDIR
- Některá část cesty není adresář.
- EACCES
- V cestě není povoleno prohledávání adresářů.
- ELOOP
- path obsahuje cyklické odkazy (např. přes symbolický odkaz)
Obvyklé chyby fchdir jsou zde:
SPLŇUJE STANDARDY¶
SVr4, 4.4BSD, POSIX.1-2001.
POZNÁMKY¶
Aktuální pracovní adresář je výchozím bodem pro interpretaci relativních cest (začínají '/').
Synovský proces vytvořený pomocí fork(2) zdědí aktuální pracovní adresář svého rodiče. Pracovní adresář je ponechán beze změny při užití execve(2).
Prototyp pro fchdir() je dostupný pouze když je definováno _BSD_SOURCE, nebo _XOPEN_SOURCE je definováno s hodnotou 500.
VIZ TÉŽ¶
TIRÁŽ¶
Tato stránka je součástí projektu Linux man-pages. Popis projektu a informace o hlášení chyb najdete na http://www.kernel.org/doc/man-pages/.
25. září 2009 | Linux 1.2.4 |