![]()  | 
![]()  | 
![]()  | 
![]()  | 
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
![]()  | 
![]()  | 
![]()  | 
![]()  |