Create a formatted char*-string.
Create a formatted char*-string.
In plug-in versions prior 3.2 R2300 the output length (after all %-markers are replaced) is limited to 9999. Since 3.2 R2300 the limit is 32768. Longer strings may crash InDesign®.
Name | Type | Default | Description |
result | char* | - | Result string. The string must be large enough to take up all replaced values. |
formatStr | char* | - | Message. The string can contain %-markes , see here to learn more. An additional parameter is expected in the (correct) sequence and with the correct type for each of these markers. |
... | depending on the %-markers | - | Values or variables according to the %-markers in formatStr |
Assign "Hello 3rd World" to str in three different ways, then "Hello 4th Dimension"
int main() { char * str = alloc(512); char * w = alloc(256); int i = 3;
strcpy(w, "World"); sprintf(str, "Hello 3rd World"); showmessage(str); sprintf(str, "Hello 3rd %s", w); showmessage(str); sprintf(str, "Hello %drd %s", i, w);
showmessage(str); strcpy(w, "dimension"); sprintf(str, "Hello %dth %s", ++i, w); showmessage(str);
release(str); release(w);
return 0; }
As showmessage also expects a format string, the % in the example have to be doubled
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