chdir

Aus RAD Studio
Wechseln zu: Navigation, Suche

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