Mit c++ in ein Verzeichnis wechseln
-
Hallo zusammen..
Ich habe ein mini Programm geschrieben das mir unter anderem ein paar Dateien anlegt. Am Ende des Programms möchte ich in das Verzeichnis wechseln in dem die neu erzeugten Dateien liegen. Aber irgendwie funktioniert das nicht so richtig. Folgendes habe ich probiert:system("cd /home/user/verzeichnis");
Hat leider nicht geklappt. Dann habe ich mir ein kleines Script (script.sh) mit folgendem Inhalt geschrieben:
#!/bin/bash cd /home/user/verzeichnis
und es so aufgerufen:
system("source script.sh");
Leider auch hier kein Verzeihniswechsel. Kann mir da jemand einen Tipp geben?
-
Das was du versucht hast, kann nicht klappen, weil du nur ein Programm startest, das in ein Verzeichnis wechselt. Damit wechselt natürlich nicht dein Progamm mit. Stell dir vor, was passieren würde, wenn jeder Elternprozess immer im gleichen Ordner wie der Kinprozess laufen müsste.
Um das Verzeichnis zu wechseln benutze folgendes:
#include <unistd.h> int chdir(const char *path);
-
Vielen Dank für deine Antwort. Ich weiss nur ehrlichgesagt nicht genau, wie ich das jetzt umsetze. Wie muss ich denn den Pfad da angeben?
-
Wie jetzt
if (chdir("/home/user/verzeichnis") != 0) { printf("Konnte Verzeichnis nicht wechseln\n"); }
Gib mal im Shell
man chdir
ein.
-
Dummes Missverständniss meinerseits
Klappt wunderbar, danke.Bin schon etwas länger raus aus c++, deswegen der Fehler