0 Pluspunkte 0 Minuspunkte

Ich habe diesen Code

#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;

}

und bekomme diesen Fehler

fs.cpp:2:22: fatal error: filesystem: No such file or directory 
#include <filesystem>

Beim Compilieren gebe ich diesen Befehl an

g++ fs.cpp --std=c++17
von  
Welche G++ Version nutzt du?

g++ --version

std::filesystem wurde mit C++17 eingeführt.
g++ (MinGW.org GCC-6.3.0-1) 6.3.0
Copyright (C) 2016 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Am besten du machst ein Update auf GCC 8

2 Antworten

0 Pluspunkte 0 Minuspunkte

Alternativ kannst du die Boost Library verwenden.

#include <iostream>
#include <boost/filesystem.hpp>

int main() {

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

    return 0;

}
von (566 Punkte)  
0 Pluspunkte 0 Minuspunkte
std::filesystem wurde mit C++17 eingeführt. Dazu musst du deinen Compiler auf zumindest GCC 8 aktualisieren.
von (868 Punkte)