Die Behandlung von Datei-Pfade cross-Plattform
Tun alle C++ - GNU-standalone-Klassen existieren, die sich mit Wege-und cross-Plattform? Meine Anwendungen erstellen, die auf Windows und LInux. Unsere Konfigurations-Dateien verweisen auf eine andere Datei in einem separaten Verzeichnis. Ich möchte in der Lage sein zu Lesen, den Weg für die anderen Konfigurations-Datei in eine Klasse, das funktioniert bei Linux oder Windows.
Welche Klasse würde den kleinsten Fußabdruck zu übersetzen Pfade zu verwenden, auf keinem system? Dank
InformationsquelleAutor Superpolock | 2008-09-23
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es sei denn, Sie verwenden absolute Pfade, es gibt keine Notwendigkeit zu übersetzen, an alle - die von Windows automatisch konvertiert forward-slashes in backslashes, so dass, wenn Sie relative Pfade verwenden, mit Schrägstrich vor dem Pfad-Separatoren, werden Sie golden. Sie sollten wirklich absolute Pfade vermeiden, wenn überhaupt möglich.
nicht tragbar zu OS mit verschiedenen Flucht -, Zitat-und Trennzeichen Regeln können (z.B. Mac)
InformationsquelleAutor Adam Rosenfield
versuchen boost::filesystem
InformationsquelleAutor gbjbaanb
Dateisystem-Bibliothek in der boost wird wahrscheinlich helfen Sie.
InformationsquelleAutor Jonas Gulle
Gibt es viele Möglichkeiten, IMHO ist die richtige Antwort für die Neugestaltung Ihres Programms zu vermeiden, die Manipulation von Pfaden. Ich gepostet hier eine Antwort: https://stackoverflow.com/a/40980510/2345997, die relevant sind.
Möglichkeiten:
InformationsquelleAutor user1976