Einheitliche Lösung für Pfadangaben bei Crossplattform fähigen Anwendungen?
-
Windows verwendet als Pfadangabe ein Backslash "\".
Unter Unix Betriebsystemen ist dagegen ein Slash üblich "/".Wie kriegt man jetzt diese beiden unterschiedlichen Varianten
am besten in seinem Programmcode unter einen Hut?
Wie löst man so etwas also mit dem geringsten Aufwand,
so daß der Code am Ende noch gut lesbar ist.Soll man für jede Funktion die so eine Pfadangabe benötigt bzw. benutzt
jetzt jeweils eine Variante für Windows und dann eine für Unix nehmen
oder kann man das irgendwie wrappen?Wie löst man das am elegantesten?
Wie habt ihr das gelöst?Ach ja, ich beziehe mich hier bei meiner Frage hauptsächlich auf C/C++ Code.
Unter Java gibt geht das ja recht einfach.
-
Naja, erstens kannauch WIndows mit Slash-Pfadangaben umgehen... einfach ausprobieren. Und zweitens gibts da schon was fertiges: boost::filesystem. Das macht schon alles was man braucht, um portoable Programme zu schreiben.
http://www.boost.org/libs/filesystem/doc/index.htm
Bis heute frage ich mich, warum gestandene C++ler immer noch kein Boost kennen oder es nicht benutzen.
-
Danke für die schnelle Antwort.
An Externe Librarys die so etwas können habe ich auch schon gedacht, aber
die sorgen wieder für zuviele unnötige Abhängigkeiten, das möchte ich vermeiden,
da ich eigentlich nur ein ganz ganz kleines Programm schreiben möchte.
Aber trotzdem danke für den Tipp bezügl. Boost.Welche Lösung schlägst du bei C Code vor?
-
Hi!
Windows versteht auch "/" Slashes. Bei irgendwelchen Pfadangaben in deinem Programm kannst du ja darauf achten. Ansonsten könntest du dir eine Funktion schreiben die alle Backslashes in Slashes konvertiert.
grüße