Erzeuge einen formatierten char*-String.
Erzeuge einen formatierten char*-String.
Bis Version 3.2 R2299 ist die Ausgabelänge (nach dem Ersetzen aller %-Markierungen) auf 9999 Zeichen beschränkt. Ab 3.2 R2300 liegt die Maxilänge bei 32768 Bytes. Längere Ergebnisstrings können zu Fehlverhalten oder Absturz von InDesign® führen.
Name | Typ | Default | Beschreibung |
result | char* | - | Ergebnisstring. Der String muss groß genug sein, um alle ersetzten Werte aufzunehmen. |
formatStr | char* | - | Nachricht. Die Nachricht darf Format-Tags enthalten, mehr dazu dazu siehe hier. Für jeden %-Marker wird (in der richtigen Reihenfolge und vom richtigen Datentyp) eine weitere Eingabevariable erwartet. |
... | abhängig von den Markierungen | - | Werte oder Variablen gemäß den %-Tags im Formatstring |
Belege str dreimal mit 'Hallo 3. Welt' und einmal mit 'Hallo 4. Dimension'
int main() { char * str = alloc(512); char * w = alloc(256); int i = 3;
strcpy(w, "Welt"); sprintf(str, "Hallo 3. Welt"); showmessage(str); sprintf(str, "Hallo 3. %s", w); showmessage(str); sprintf(str, "Hallo %d. %s", i, w);
showmessage(str); strcpy(w, "Dimension"); sprintf(str, "Hallo %d. %s", ++i, w); showmessage(str);
release(str); release(w);
return 0; }
Da showmessage ebenfalls einen Formatstring erwartet, müssen die % im Beispiel verdoppelt werden
int main() { char * str = alloc(512); float f = 15.398735;
sprintf(str, "Der Preis steigt um %.2f%%%%, also ungefähr %.0f%%%%", f, f); showmessage(str);
release(str);
return 0; }
Alphabetic index HTML hierarchy of classes or Java