chdir
Nach oben zu dir.h
Header-Datei
dir.h
Kategorie
Verzeichnisbearbeitungsroutinen
Prototyp
int chdir(const char *path);
int _wchdir(const wchar_t *path);
Beschreibung
Wechselt das aktuelle Verzeichnis.
chdir bewirkt, dass das mit path angegebene Verzeichnis zum aktuellen Arbeitsverzeichnis wird. Der Parameter path muss ein vorhandenes Verzeichnis bezeichnen.
Im Argument path kann auch ein Laufwerk angegeben werden, beispielsweise
chdir("a:\\BC");
aber auf diese Weise wird nur das aktuelle Verzeichnis auf dem betreffenden Laufwerk geändert, nicht das aktive Laufwerk.
- Unter Windows wirkt sich diese Funktion nur auf den aktuellen Prozess aus.
Rückgabewert
Nach erfolgreicher Ausführung gibt chdir den Wert 0 zurück. Andernfalls gibt die Funktion den Wert -1 zurück, und der globalen Variablen errno wird der folgende Wert zugewiesen:
ENOENT |
Path or file name not found (Pfad oder Dateiname nicht gefunden) |
Beispiel
#include <stdio.h>
#include <stdlib.h>
#include <dir.h>
char old_dir[MAXDIR];
char new_dir[MAXDIR];
int main(void)
{
if (getcurdir(0, old_dir))
{
perror("getcurdir()");
exit(1);
}
printf("Current directory is: \\%s\n", old_dir);
if (chdir("\\"))
{
perror("chdir()");
exit(1);
}
if (getcurdir(0, new_dir))
{
perror("getcurdir()");
exit(1);
}
printf("Current directory is now: \\%s\n", new_dir);
printf("\nChanging back to original directory: \\%s\n", old_dir);
if (chdir(old_dir))
{
perror("chdir()");
exit(1);
}
return 0;
}
Portabilität
POSIX | Win32 | ANSI C | ANSI C++ | |
---|---|---|---|---|
chdir |
+ |
+ |
||
_wchdir |
nur NT |