Probleme mit "\" slashes im Pfad als String



  • Hi

    ich hab einen Problem mit der Pfad angabe um meine Bilder in einem Dialog zu laden. Der Pfad sollte 2 slashes enthalten z.B. "C:\\Bilder", Bilder werden einfach nicht geladen wenn ich nur ein slash "\" benutze. Wie kann ich einen Pfad z.B. "C:\Bilder" in "C:\\Bilder" umwandeln ?.

    Irgendwie kann ich kein "\" als string oder char nutzen um denn Pfad zu manipulieren.

    Hilfe



  • in hex: \x5c

    aber warum soll das nicht klappen? :
    "c:\\verzeichnis\\bild.dat"



  • mit einem slash klappt das nicht z.B. das hier

    "c:\verzeichnis\bild.jpg"

    jedoch das hier geht:
    "c:\\verzeichnis\\bild.jpg"

    Ausserdem wie gebe ich Hex ein. Sorry hab das noch nie gemacht

    z.B.
    m_PicturePath.SetAt(3,"\"); in Hex ??



  • Backslahes leiten Escape Sequenzen ein und \b ist die Sequenz für backspace. Benütze stattdessen Forwardslashes die sind nicht nur weniger hässlich als doppelte Backslashe, sondern auch plattformunabhängig.



  • du mußt dich damit abfinden das du den backslash '\' im string so eingeben musst: '\'.

    Ausserdem wie gebe ich Hex ein. Sorry hab das noch nie gemacht

    "c:""\x5c""verzeichnis""\x5c""datei.dat"



  • Wenn du den string in deinem Programm anlegst musst du das mit einem "\" machen, da ein Backslash eine Escapesequenz einleitet. In diesem fall einen Backslash 😉
    Solltest du diesen String einlesen (aus einer Datei oder von der Programoberfläche) so musst du keinen weiteren Backslash anfügen, die Daten haben dann schon das richtige Format.



  • das es als escap sequenz bewertet wird ist mir schon klar. Das dumme ist ja nur das ich meine ini auslese und die nur ein slash enthälrt. Diese ini Datei kann ich auch nicht mit 2 slashes erzeugen, denn LPITEMIDLIST pidl=SHBrowseForFolder(&bi); // Aufruf des Directory-Trees; bi unbedingt als Zeiger benutzen

    liefert mir ja nur ein slash im pfad mit 😞 ich kann weder dort ein slash einfügen noch später beim auslesen.



  • Die doppelten Backslashes brauchst du praktisch immer nur dann, wenn der Pfad im Quellcode steht. Wenn du die Pfade irgendwo anders her bekommst, brauchst du sie nicht.

    Das Problem liegt mit an Sicherheit grenzender Wahrscheinlichkeit woanders.



  • du hatest recht.... 😉 danke


Anmelden zum Antworten