#include <print>
#include <string>

import splitFile;

// Die zu zerlegende Dateiangabe
const char* pFILE = "c:/userdata/temp/data.dat";

// main() Funktion
int main()
{
    std::println("Der zu zerlegende Dateiname ist:\n{}\n", pFILE);
    // Pfad in Einzelteile zerlegen
    SplitFullPath myPath(pFILE);

    // Laufwerk ausgeben
    auto drive = myPath.GetDrive();
    std::println("Laufwerk : {}", drive.empty() ? "keines" : drive);

    // Verzeichnis ausgeben
    auto path = myPath.GetPath();
    std::println("Verzeichnis: {}", path.empty() ? "keines" : path);

    // Dateiname ausgeben
    auto filename = myPath.GetFilename();
    std::println("Dateiname : {}", filename);

    // akt.Erweiterung gegen .bak austauschen
    // string_view in
    std::println("Tausche Erweiterung gegen \".bak\"");
    std::string fname(filename);
    // Suche letzten . im Dateinamen
    // Falls . gefunden
    if (auto extStart = fname.rfind('.'); extStart != std::string::npos)
    {
        // Alles ab . löschen
        fname.erase(extStart);
        // und nun .bak anhängen
        fname.append(".bak");
        std::println("Neuer Name : {}", fname);
    }
    else
        std::println("Keine Erweiterung gefunden!");
}
