sscanf, Doppelpunkt im Format?
-
Will folgendes Zeilenformat bearbeiten:
33: Text für 33
dazu folgendes Format:
"%l: %s\n"
Klappt aber nicht, weil der Doppelpunkt offenbar besondere Bedeutung hat. Ein Ersatz auf \: hat auch nicht funktioniert. Wie kann ich den Doppelpunkt als "normales Zeichen" maskieren?
MfG SideWinder
-
Ich weiß zwar grad nicht, wofür %l stehen soll, aber was spricht gegen %i oder %d?
-
%l steht für long, das hat andere Gründe. Aber was würde %d: anders machen? Es geht ja um den Doppelpunkt!
MfG SideWinder
-
Ich weiß nur, dass bei mir (VS2008, als C-Code kompiliert) %d funktioniert, auch mit Doppelpunkt. %l kann ich in der (MS-)Doku nicht finden, und erwartungsgemäß funktioniert das auch nicht (wird gar nicht zugewiesen, ob mit oder ohne Doppelpunkt).
Ich glaube nicht, dass der Doppelpunkt das Problem ist.
-
Scheint tatsächlich das Problem zu sein, laut man sollte es l für long geben, aber evtl. habe ich mich da verlesen...jetzt gibts eben einen temporären Integer den ich dann in den long speichere...
MfG SideWinder
-
_matze schrieb:
%l kann ich in der (MS-)Doku nicht finden, und erwartungsgemäß funktioniert das auch nicht...
%l alleine reicht auch nicht. l ist modifizierer für diese typangaben, z.b. %ld (long decimal), %lx(long hex), %lf(long float) und so weiter.
-
Das l steht schon für long, allerdings ist es ein Modifikator, kein Grundzeichen. Komplett wäre das also %ld, %lu, %li usw.
-
^^wie heisst es denn richtig, Modifizierer oder Modifikator?
-
Laut LEO sind beides gültige Übersetzungen für "type modifier".
Danke jedenfalls, Problem gelöst!
MfG SideWinder
-
;fricky schrieb:
^^wie heisst es denn richtig, Modifizierer oder Modifikator?
Modifikator natürlich
:p