wmemchr

From cppreference.com
< clrm; | stringlrm; | wide
Defined in header <wchar.h>
wchar_t *wmemchr( const wchar_t *ptr, wchar_t ch, size_t count );
(since C95)

Locates the first occurrence of wide character ch in the initial count wide characters of the wide character array or integer array of compatible type, pointed to by ptr.

If count is zero, the function returns a null pointer.

Parameters

ptr - pointer to the wide character array to be examined
ch - wide character to search for
count - number of wide characters to examine

Return value

Pointer to the location of the wide character, or a null pointer if no such character is found.

Example

#include <stdio.h>
#include <wchar.h>
#include <locale.h>

int main(void)
{
    wchar_t str[] = L"\0";
    size_t sz = sizeof str / sizeof *str;

    wchar_t target = L'';
    wchar_t* result = wmemchr(str, target, sz);

    if (result) {
        setlocale(LC_ALL, "en_US.utf8");
        printf("Found '%lc' at position%td\n",target, result - str);
    }
}

Possible output:

Found '' at position 14

References

  • C11 standard (ISO/IEC 9899:2011):
  • 7.29.4.5.8 The wmemchr function (p: 438)
  • C99 standard (ISO/IEC 9899:1999):
  • 7.24.4.5.8 The wmemchr function (p: 384)

See also

searches an array for the first occurrence of a character
(function)
(C95)
finds the first occurrence of a wide character in a wide string
(function)