wcsrchr - cppreference.com (original) (raw)

Defined in header <wchar.h>
wchar_t *wcsrchr( const wchar_t *str, wchar_t ch ); (1) (since C95)
/*QWchar_t*/ *wcsrchr( /*QWchar_t*/ *str, wchar_t ch ); (2) (since C23)
  1. Finds the last occurrence of the wide character ch in the wide string pointed to by str.

  2. Type-generic function equivalent to (1). Let T be an unqualified wide character object type.

If a macro definition of each of these generic functions is suppressed to access an actual function (e.g. if (wcsrchr) or a function pointer is used), the actual function declaration (1) becomes visible.

[edit] Parameters

str - pointer to the null-terminated wide string to be analyzed
ch - wide character to search for

[edit] Return value

Pointer to the found character in str, or a null pointer if no such character is found.

[edit] Example

#include <locale.h> #include <stdio.h> #include <wchar.h>   int main(void) { wchar_t arr[] = L"白猫 黒猫 кошки"; wchar_t *cat = wcsrchr(arr, L'猫'); wchar_t *dog = wcsrchr(arr, L'犬');   setlocale(LC_ALL, "en_US.utf8");   cat ? printf("The character 猫 found at position %td\n", cat - arr) : puts("The character 猫 not found");   dog ? printf("The character 犬 found at position %td\n", dog - arr) : puts("The character 犬 not found"); }

Output:

The character 猫 found at position 4 The character 犬 not found

[edit] References

[edit] See also

| | finds the first occurrence of a wide character in a wide string (function) [edit] | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | | finds the first location of any wide character in one wide string, in another wide string (function) [edit] | | |