Probleme mit dem % Zeichen
-
Immer wenn ich unter Linux einen Editor verwende (z.B. Kate, aber auch andere)
werden Angaben mit einem Prozentzeichen in irgendetwas anderes umgewandelt,
vermutlich einen Pointer.
z.B. aus 5% wird 532212190504
oder "%2i" wird zu "13254362"Kann man etwas dagegen tun ?
-
Was passiert genau?
Du tippst % ein und es kommt diese Zahl?
-
Hört sich wie ein Virus an. :p
-
nein, es ist folgendermassen:
ich hab in Kate eine Datei geöffnet und schreibe etwas hinein,
z.B. einen Programmquellcode.
In diesem kommt z.b. "%2i" vor .
Nun speichere ich diese Datei und beende Kate.Beim Erneuten Öffnen dieser Datei mit Kate steht dann statt
der "%2i" irgendeine lange Zahl, vermutlich ein Pointer, darin.
Ich weiss nicht, wann diese Umwandlung passiert: ob beim Speichern
oder beim erneuten Laden der Datei.
Nach der direkten Eingabe sieht erstmal alles richtig aus.
Probiert es mal selber mit Kate aus: am besten die Datei wird als
xxx.cpp benannt, da Kate auf Datei-Endungen achtet.
-
malabarista schrieb:
nein, es ist folgendermassen:
ich hab in Kate eine Datei geöffnet und schreibe etwas hinein,
z.B. einen Programmquellcode.
In diesem kommt z.b. "%2i" vor .
Nun speichere ich diese Datei und beende Kate.Beim Erneuten Öffnen dieser Datei mit Kate steht dann statt
der "%2i" irgendeine lange Zahl, vermutlich ein Pointer, darin.
Ich weiss nicht, wann diese Umwandlung passiert: ob beim Speichern
oder beim erneuten Laden der Datei.
Nach der direkten Eingabe sieht erstmal alles richtig aus.
Probiert es mal selber mit Kate aus: am besten die Datei wird als
xxx.cpp benannt, da Kate auf Datei-Endungen achtet.Bei mir wird nichts ersetzt. Das %2i steht nahch dem erneuten Öffnen der Datei drin. Ich hab auch mal Kate neu gestartet und es mir angeschaut. Nichts hat sich verändert. Mach mal eine kleine Datei, die nach dem erneuten Öffnen das Problem hat und poste deren Hexdump bevor sie erneut geöffnet wurde. Am besten mit xxd xxx.cpp
-
Also da muss ich mich jetzt korrigieren:
mit Kate passierte der Effekt, nachdem ich mittels Galeon eine Internetseite
ausgeschnitten und über das Klipboard in Kate eingefügt hatte.
Der Effekt ist derzeit nicht mehr reproduzierbar.So habe ich feststellen können, dass die anderen Effekte mit
den folgenden Elementen passierten:
Ich verwendete sowohl gtk_text_view als auch QTextEdit
(aber natürlich nicht im gleichen Programm).Reproduzierbar bleibt z.B. mit QTextEdit:
wenn ich in einem QTextEdit-Element qte einen dort per Tastatur
eingegeben Text
auslese mittels der Funktion qte->text(int), erhalte ich
statt des eingegebenen
sprintf(zz,"%d",i);Zufallsergebnisse wie
sprintf(zz,"9",i);
oder
sprintf(zz,"123",i);Je nachdem an welcher Stelle im Text die o.g. Zeile steht.
Es passiert also definitiv beim Auslesen, direkt vorm Abspeichern.Wenn ich diesen Text nun aus einer Datei auslese und in mein Element qte einlese,
ist er korrekt.
Sobald ich ihn wieder aus qte auslese, ist er wieder verändert (s.o.).
-
Das könnte einiges erklären.
Schau dir mal die Doku zu QString an und such nach %1.
Ansonsten wäre muss man wissen wie dein Programm genau arbeitet.
-
ok, Ponto,
ich habe nun gelesen, dass er konvertiert.
Aber ich habe nichts gefunden, wie man diese Konvertierung abstellt.