Your Browser is not longer supported
Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...
{{viewport.spaceProperty.prod}}
fchdir - aktuelles Dateiverzeichnis ändern
&pagelevel(4)&pagelevel
Definition | #include <unistd.h> int fchdir(int fildes); |
Beschreibung | fchdir() wechselt ebenso wie chdir() das aktuelle Dateiverzeichnis wobei jedoch das neue Verzeichnis nicht durch den Pfadnamen, sondern durch den Dateideskriptor fildes bezeichnet wird. Das aktuelle Dateiverzeichnis ist der Startpunkt für Suchen nach Pfadnamen, die nicht mit „/ “ beginnen. Das fildes-Argument ist ein offener Dateideskriptor eines Verzeichnisses. Um ein Verzeichnis zum aktuellen Verzeichnis zu machen, muss ein Prozess Zugriffsrechte zum Ausführen (Suchen) auf das Verzeichnis haben.
|
Returnwert | 0 | bei Erfolg. |
| -1 | bei Fehler. Das aktuelle Arbeitsverzeichnis bleibt unverändert. errno wird gesetzt, um den Fehler anzuzeigen. |
Fehler | fchdir() schlägt fehl, wenn gilt:
|
| EACCES
| Für fildes gibt es keine Durchsucherlaubnis. |
| EBADF
| fildes ist kein Dateideskriptor für eine offene Datei. |
| EINTR
| Ein Signal wurde während des Systemaufrufs fchdir() abgefangen |
| EIO
| Es trat während des Lesens oder Schreibens vom Dateisystem ein Ein- oder Ausgabefehler auf. |
| ENOLINK
| fildes weist auf einen fernen Rechner, und die Verbindung zu diesem Rechner ist nicht mehr aktiv. |
| ENOTDIR | Der offene Dateideskriptor zeigt nicht auf ein Dateiverzeichnis. |
Hinweise | Die Änderung des aktuellen Dateiverzeichnisses wirkt für die Dauer des aktuellen Programmes (bzw. der aktuellen Shell). Wird ein Programm oder eine Shell neu gestartet, dann ist wieder das Home-Verzeichnis als aktuelles Dateiverzeichnis eingestellt. Um ein Verzeichnis zum aktuellen Dateiverzeichnis zu machen, muss ein Prozess Ausführrechte (Suchen) für das Verzeichnis haben. fchdir() wirkt nur in dem jeweils aktiven Prozess und nur bis zur Beendigung des aktiven Programms. fchdir() wird nur für POSIX-Dateien ausgeführt. |
Siehe auch | chdir() , chroot() , unistd.h .
|