Ändern des aktuellen Arbeitsverzeichnisses in C
Bei der Arbeit mit Dateien und E/A tritt häufig die Notwendigkeit auf, das aktuelle Arbeitsverzeichnis anzupassen Operationen. C bietet eine plattformunabhängige Lösung für diese Aufgabe durch die Verwendung der Funktion std::filesystem::current_path.
C 17 Lösung: std::filesystem::current_path
In C 17 stellt die std::filesystem-Bibliothek eine plattformübergreifende API für Dateisystemoperationen bereit. Die Funktion std::filesystem::current_path ermöglicht sowohl das Abrufen als auch das Festlegen des aktuellen Arbeitsverzeichnisses.
Beispiel:
<code class="cpp">#include <filesystem> int main() { namespace fs = std::filesystem; // Retrieve the current working directory fs::path current_path = fs::current_path(); // Set the current working directory fs::current_path(current_path / "new_directory"); }</code>
In diesem Beispiel rufen wir zuerst ab Ermitteln Sie mithilfe der Funktion „current_path“ das aktuelle Arbeitsverzeichnis und speichern Sie es in einem fs::path-Objekt. Anschließend können wir dieses fs::path-Objekt verwenden, um das aktuelle Arbeitsverzeichnis auf einen neuen Pfad festzulegen, in diesem Fall das Unterverzeichnis „new_directory“.
Kompatibilität
Die std::filesystem-Bibliothek ist in C 17 und höher verfügbar. Für ältere C-Versionen stehen plattformspezifische Optionen zur Verfügung, beispielsweise direct.h für Windows oder unistd.h für UNIX/POSIX-Systeme. Allerdings fehlt diesen Optionen die Portabilität von std::filesystem::current_path.
Das obige ist der detaillierte Inhalt vonWie ändere ich das aktuelle Arbeitsverzeichnis in C?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!