CString loswerden
-
Hallo!
Ich hab folgenden Happen Code
(char code,unsigned char wert) { CString msg; msg.Format("%c%c%c%c",24,code,1,wert); }Ich versuche nun das ganze ohne CString zu realisieren, bin mir aber nicht sicher ob ich das richtig gemacht habe:
char cnr[99]; sprintf_s(cnr,"%c%c%c%c",24,code,1,value);Ist das so korrekt?
-
Nein!
Wenn du sprintf_s verwendest musst Du die Größe des Ausgabebuffers angeben
http://msdn2.microsoft.com/en-us/library/ce3zzk1k.aspx
-
Also wäre
char cnr[99]; sprintf_s(cnr,99,"%c%c%c%c",24,code,1,value);Richtig?
-
panicroom schrieb:
Also wäre
char cnr[99]; sprintf_s(cnr,99,"%c%c%c%c",24,code,1,value);Richtig?
Ja!
ABer warum so kompliziert?char cnr[] = { 24, code, 1, value, 0 };
-
Martin Richter schrieb:
Nein!
Wenn du sprintf_s verwendest musst Du die Größe des Ausgabebuffers angeben
http://msdn2.microsoft.com/en-us/library/ce3zzk1k.aspxNein, das stimmt nicht!
Du musst Dir das mal genau anschauen, was "sprintf_s" *wirklich* für tolle überladungen hat!!!
In diesem Fall kann er schon automatisch ermitteln, wie gross der Ausgabepuffer ist und es funktioniert einfach, ohne dass man den Code anpassen muss!!!
Es lässt sich also ohne Probleme compilieren!
-
Stimmt. Die beiden templates sind mir bisher noch nicht aufgefallen. Wirklich gut!