Platzhalter nicht erwünscht
-
Ich kmöchte einen Sendestring (via RS232) zusammensetzen.
Das broblem ist das der Stin z.B. so aussehen soll:%B Zeilenname/Spaltenname
(Das ganze mit nem Zeilenumbruch abgeschlossen)So versuche ich es (der Inhalt derVariablen (auch Zeilenumbruch) sind OK):
_stprintf(cpSBefehl, "%B%s/%s%s",cpZeile, cpSpalte,cpCr_char);
leider steht anschließend nicht der oben angeführte String, sondern folgendes:
B Zeilenname/Spaltenname
(das vorangestellte "%" fehlt)Auch so klappt es nicht:
_stprintf(cpSBefehl, "\%B%s/%s%s",cpZeile, cpSpalte,cpCr_char);
(selber Effekt)
Was mache ich falsch ?
-
Wenn hinterher im String % stehen soll, muss im Formatstring %% stehen.
-
immer wenn ein % in der ausgabe erscheinen soll, musst du im string %% schreiben...
-
Hm... alles klar
Ich wußte da ist was ^^Demnach sollte es so klappen
_stprintf(cpSBefehl, "%%B%s/%s%s",cpZeile, cpSpalte,cpCr_char);
Habe es in der MSDN nicht gefunden... hat evtl jemand nen stichwort nach dem ich suchen kann um diese info zu finden?
Irgendwie suche ich wohl falsch....
Danke für die Hilfe
-
http://msdn2.microsoft.com/en-us/library/56e442dc(VS.80).aspx
If a percent sign is followed by a character that has no meaning as a format field, the character is copied to stdout. For example, to print a percent-sign character, use %%
-
super... danke
-
haedfinger schrieb:
Habe es in der MSDN nicht gefunden... hat evtl jemand nen stichwort nach dem ich suchen kann um diese info zu finden?
Ja "printf format specification":
If a percent sign is followed by a character that has no meaning as a format field, the character is copied to stdout. For example, to print a percent-sign character, use %%.
Alternativ kannst du auch die Erklärung auf der Man-Page von man: printf(3) bemühen.