unknown escape sequenze

Du bist neu in der Welt von C++? Dann schau hier herein!
Antworten
Marcus Breuer
Beiträge: 113
Registriert: 31. März 2011 17:19
Wohnort: Aachen
Kontaktdaten:

unknown escape sequenze

Beitrag von Marcus Breuer »

Hallo Forum,


ich habe ein Problem, bzw. eigentlich funktioniert es, aber ich verstehe es nicht und auf einem Rechner unter Windows 7 funktioniert alles tadelos auf einem anderen, ebenfalls unter Windows 7 geht en Teil schief.

Also ich habe mir ein kleines Programm geschrieben, das ich gerne als eine Bewerbung auf einen Studijob abgeben möchte. Ich habe es unter Mac geschrieben und unter Windows mit NSIS zu einer *.exe zusammengebastelt. Es sind ein paar Bilder, eins im *.jpg und ein paar im *.png Format enthalten.

Damit ich die Bilder auf die Label setzen kann, frage ich im Programm mittels

Code: Alles auswählen

QCoreApplication::aplicationDirPath()
den Ort ab, an dem das Programm installiert ist. Danach füge ich mittels

Code: Alles auswählen

append("\bild01.jpg)
den Pfad zum entsprechenden bild hinzu. Also keine große Sache. Ich habe nun aber das Problem, dass der Slash beim appenden nicht mitangehangen wurde.
Also der Pfad letzten Endes ins Leere zeigt.
Ich habe dann etwas naiv rumprobiert und scheinbar funktioniert es erst, wenn ich Folgendes benutze:

Code: Alles auswählen

append("\/bild01.jpg")
Ich bekam allerdings auch nur einmal die Meldung: "unknown escape sequence: \/"

Es funktioniert jedoch unter XP überhaupt nicht, unter Windows 7 sieht es so aus, wie ich es möchte. Ich befürchte aber fast, dass es auf einem anderen Rechner dann wieder nur das macht, wonach es lustig ist.

Ich habe, bevor ich den Quellcode von Mac auf Windows kopiert habe, die pro.user Datei gelöscht.

Was mich jedoch besonders verdutzt hat, auf einem Rechner war es bei dem einzigen *jpg Bild, das enthalten ist, nicht nötig mit obigen "Konstrukt" den Pfad zu ermitteln, bei den übrigen *.png Bildern jedoch schon. Es lief dann, wie gewollt.
Auf einem anderen Rechner wurde aber dann auch als einziges dieses *.jpg Bild nicht mehr gefunden, also der Pfad scheint dann wohl auch ins Leere zu zeigen.

Nun denke ich, da stimmt was nicht und hoffe, Ihr wisst vielleicht einen schnellen Rat.


Viele Grüße,
Marcus
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Re: unknown escape sequenze

Beitrag von Christian81 »

\b ist nunmal eine Escape-Sequenz... C Grundlagen und schauen wie man korrekt einen Backslash korrekt escaped.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Marcus Breuer
Beiträge: 113
Registriert: 31. März 2011 17:19
Wohnort: Aachen
Kontaktdaten:

Re: unknown escape sequenze

Beitrag von Marcus Breuer »

Dankeschön,

das war eigentlich nur ein Beispielname, aber der Fehler ist eindeutig und geht auf meine Kappe. Unter Mac brauchte mich das ja nie zu kümmern.
Allerdings warum funktioniert es dann mit den zwei entgegengesetzten Slashs? Das bleibt mir zumindest schleierhaft.
Ich hatte zuvor auch Folgendes ausprobiert, wie ich sicher war es noch zu kennen mit:

Code: Alles auswählen

append("\\bild01")
Habe es gerade auch nochmal nachgeschaut und auch so gefunden. Das half aber nicht. Oder ich bin dumm. Darfst Du dir jetzt wohl aussuchen.
Hatte im Übrigen alles das, was ich probiert hatte mittels qDebug() << stringIrgendwas; ausprobiert und tatsächlich wollte nur das mit den beiden entgegengesetzten Slashs hinhauen und funktioniert ja auch. Aber es scheint ja trotzdem irgendwo Käse zu sein.

Besten Gruß,
Marcus
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Re: unknown escape sequenze

Beitrag von Christian81 »

http://de.wikipedia.org/wiki/Escape-Sequenz

Abgesehen davon kann man bei Qt für den Path Separator immer / benutzen.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Marcus Breuer
Beiträge: 113
Registriert: 31. März 2011 17:19
Wohnort: Aachen
Kontaktdaten:

Re: unknown escape sequenze

Beitrag von Marcus Breuer »

Danke, das habe ich eben auch gesehen. Da /_ ja keine Escape Sequence ist, habe ich jetzt einfach überall vor den Namen der Dateien, die geladen werden sollen einen Unterstrich gesetzt. So funktioniert es ja auch:)
Antworten