al_ustr_dup_substr
ALLEGRO_USTR *al_ustr_dup_substr(const ALLEGRO_USTR *us, int start_pos,
int end_pos)
Introduced in 5.0.0
Return a new copy of a string, containing its contents in the byte interval [start_pos, end_pos). The new string will be NUL terminated and will need to be freed with al_ustr_free.
If you need a range of code-points instead of bytes, use al_ustr_offset to find the byte offsets.
See also: al_ustr_dup
Examples: ex_utf8
Most helpful discussions: