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; }

Seit

Verfügbarkeit
priint:comet InDesign® Plug-Ins, comet_pdf, Illustrator

Alphabetic index HTML hierarchy of classes or Java