Pfadangaben



  • Ja ich habe die Suche benutzt und google war kein guter und verlässlicher freund
    Ich sitz jetzt schon seit ein paar Stunden an dem Problem mit relativen und absoluten Pfadangaben, mein Problem ist das ich zwei Bilder laden will, dieses soll sich einmal in Unterordnernern im Verzeichnis der Exe befinden, und einmal soll es sich in einem Verzeichnis separat in einem Unterordner zur exe befinden also:
    1:
    exe: \foo\foo.exe
    bild \foo\bilder\bild.bmp
    2:
    exe: \foo\prog\foo.exe
    bild \foo\picture\bild.bmp

    Das ganze soll natürlich portable sein, benutzten tu ich VC++ (ich weiß das da Pfadangaben sch**** drin sind, starte die exe auch immer aus dem Verzeichnis und nicht aus VC raus) laden tu ich das Bild mit SDL, was aber nichts mit meinem Problem zu tun haben soll, da ich es auch für andere Ansi C++ Projekte brauch. So muss ich es also sowol für Windows (\) als auch für Linux&co. (/) wissen.



  • Hallo,

    ich glaube du hast die Frage vergessen?

    Egal ;).

    Wenn das Unterverzeichnis im selben Verzeichnis ist, wie das Programm, dann
    kannst du die Datei so oeffnen:

    "bilder//xyz.bmp"
    

    andernfalls so:

    "..//bilder//xyz.bmp"
    

    Falls der Klasse zum Oeffnen von Dateien, welche du benutzt, der Verzeichnis-
    trenner nicht egal sein sollte, sollte ein #ifdef PATHSEPARATOR oder sowas
    es tun.

    mfg
    v R



  • Versuch dein Glück mal mit boost::filesystem, das Teil ist portable und erfüllt (hoffentlich ?!) alle Anforderungen die du hast. 🙂

    mfg JJ



  • Ich habe mir gedacht das die frage indirekt schon ausführlich genug gesetllt ist 😃

    Jetzt funktioniert es auch prima 🙂 Allerdings ist mir das mit den doppelslashs neu, ist das auch wirklich protable 😕

    Trotzdem danke !!!

    Und nicht vergessen alles relativ!



  • Boost::Filesystem

    da gibt es eine path Klasse, die eine Platformunabhängige Pfad Syntax (an POSIX angelehnt) unterstützt.


Anmelden zum Antworten