3 Pluspunkte 0 Minuspunkte
Wie bekomme ich das aktuelle Verzeichnis als String in C++?
von  

2 Antworten

0 Pluspunkte 0 Minuspunkte

Unter Windows

#include <windows.h>
#include <iostream>

int main() {
    char buffer[MAX_PATH];
    if (GetCurrentDirectory(MAX_PATH, buffer)) {
        std::cout << "Aktuelles Verzeichnis: " << buffer << std::endl;
    } else {
        std::cerr << "Fehler beim Abrufen des aktuellen Verzeichnisses." << std::endl;
    }
    return 0;
}

Unter Linux

#include <unistd.h>
#include <iostream>
#include <limits.h>

int main() {
    char buffer[PATH_MAX];
    if (getcwd(buffer, sizeof(buffer))) {
        std::cout << "Aktuelles Verzeichnis: " << buffer << std::endl;
    } else {
        std::cerr << "Fehler beim Abrufen des aktuellen Verzeichnisses." << std::endl;
    }
    return 0;
}
von (868 Punkte)  
0 Pluspunkte 0 Minuspunkte

Ab C++17 kannst du die plattformunabhängige Standardbibliothek std::filesystem verwenden.

#include <iostream>
#include <filesystem>

int main() {

    try {
        std::filesystem::path currentPath = std::filesystem::current_path();
        std::cout << "Aktuelles Verzeichnis: " << currentPath << std::endl;
    } catch (const std::filesystem::filesystem_error& e) {
        std::cerr << "Fehler: " << e.what() << std::endl;
    }

    return 0;

}
von (566 Punkte)