Heim >Backend-Entwicklung >C++ >Wie ändere ich das aktuelle Arbeitsverzeichnis in C?

Wie ändere ich das aktuelle Arbeitsverzeichnis in C?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-29 04:19:02426Durchsuche

How to Change the Current Working Directory in C  ?

Ä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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn