al_ustr_next man page
al_ustr_next — Allegro 5 API
#include <allegro5/allegro.h> bool al_ustr_next(const ALLEGRO_USTR *us, int *pos)
Find the byte offset of the next code point in string, beginning at
*pos does not have to be at the beginning of a code point.
Returns true on success, and the value pointed to by
pos will be updated to the found offset. Otherwise returns false if
*pos was already at the end of the string, and
*pos is unmodified.
This function just looks for an appropriate byte; it doesn't check if found offset is the beginning of a valid code point. If you are working with possibly invalid UTF-8 strings then it could skip over some invalid bytes.