.TH "al_ustr_newf(3alleg5) Allegro reference manual" "" "" "" "" .SH NAME .PP al_ustr_newf \- Allegro 5 API .SH SYNOPSIS .IP .nf \f[C] #include\ ALLEGRO_USTR\ *al_ustr_newf(const\ char\ *fmt,\ ...) \f[] .fi .SH DESCRIPTION .PP Create a new string using a printf\-style format string. .PP \f[I]Notes:\f[] .PP The "%s" specifier takes C string arguments, not ALLEGRO_USTRs. Therefore to pass an ALLEGRO_USTR as a parameter you must use al_cstr(3alleg5), and it must be NUL terminated. If the string contains an embedded NUL byte everything from that byte onwards will be ignored. .PP The "%c" 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\-\-255. To insert the UTF\-8 encoding of a code point, encode it into a memory buffer using al_utf8_encode(3alleg5) then use the "%s" specifier. Remember to NUL terminate the buffer. .SH SEE ALSO .PP al_ustr_new(3alleg5), al_ustr_appendf(3alleg5)