bool al_ustr_next(const ALLEGRO_USTR *us, int *pos)
Introduced in 5.0.0

Find the byte offset of the next code point in string, beginning at *pos. *pos does not have to be at the beginning of a code point. Returns true on success, then 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, then *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.

See also: al_ustr_prev

Examples: ex_utf8

Most helpful discussions: