.\" Automatically generated by Pandoc 3.5 .\" .TH "al_ustr_newf" "3" "" "Allegro reference manual" .SH NAME al_ustr_newf \- Allegro 5 API .SH SYNOPSIS .IP .EX #include \f[B]\f[R] ALLEGRO_USTR *al_ustr_newf(const char *fmt, ...) .EE .SH DESCRIPTION Create a new string using a printf\-style format string. .PP \f[I]Notes:\f[R] .PP The \[lq]%s\[rq] specifier takes C string arguments, not ALLEGRO_USTRs. Therefore to pass an ALLEGRO_USTR as a parameter you must use al_cstr(3), and it must be NUL terminated. If the string contains an embedded NUL byte everything from that byte onwards will be ignored. .PP The \[lq]%c\[rq] specifier outputs a single byte, not the UTF\-8 encoding of a code point. Therefore it is only usable for ASCII characters (value <= 127) or if you really mean to output byte values from 128\[en]255. To insert the UTF\-8 encoding of a code point, encode it into a memory buffer using al_utf8_encode(3) then use the \[lq]%s\[rq] specifier. Remember to NUL terminate the buffer. .SH SEE ALSO al_ustr_new(3), al_ustr_appendf(3)