Search backwards for a UTF-8 character in a string
#include <utf8.h> char *utf8strrchr( char const *string_base, char const *start_char, char const *mbchar, int *count );
ph
This function searches backwards from start_char to string_base (inclusive) for a UTF-8 character that matches mbchar. If such a match is found, count (if provided) is set to the number of UTF-8 characters the matching character is from the start of the search. For example, if mbchar matches the start_char character in string, count is set to 0. If mbchar matches the previous character in string, count is set to 1.
A pointer to the beginning of the matching character within string_base is returned. If no match is found, the function returns NULL and doesn't change count.
Note that start_char doesn't need to be on a character boundary.
A pointer to the matched character, or NULL if none was found.
Search from the end of a string for a match to the provided UTF-8 character:
#include <Pt.h> int main() { char string[] = "Hello there: äîòéü found"; char mbchar[] = "é"; int count; char *p; if( (p = utf8strrchr( string, string + strlen( string ) - 1, mbchar, &count ) ) ) { printf( "Character found: \n%d characters from the end.\n", count ); printf( "Byte offset %d.\n", p - string ); } else printf( "Not found.\n" ); }
Photon
Safety: | |
---|---|
Interrupt handler | No |
Signal handler | Yes |
Thread | Yes |
utf8strchr(), utf8strichr(), utf8strnchr(), utf8strnichr(), utf8strirchr()
Unicode Multilingual Support in the Photon Programmer's Guide