wmemchr
From cppreference.com
| Defined in header <wchar.h>
|
||
| wchar_t *wmemchr( const wchar_t *ptr, wchar_t ch, size_t count ); |
(1) | (since C95) |
| /*QWchar_t*/ *wmemchr( /*Qwchar_t*/ *ptr, wchar_t ch, size_t count ); |
(1) | (since C23) |
1) 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.2) Type-generic function equivalent to (1). Let
T be an unqualified wide character object type.
- If
ptris of type const T*, the return type is const wchar_t*. - Otherwise, if
ptris of type T*, the return type is wchar_t*. - Otherwise, the behavior is undefined.
- If
If count is zero, the function returns a null pointer.
Contents |
[edit] Parameters
| ptr | - | pointer to the wide character array to be examined |
| ch | - | wide character to search for |
| count | - | number of wide characters to examine |
[edit] Return value
Pointer to the location of the wide character, or a null pointer if no such character is found.
[edit] Example
Run this code
#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
[edit] 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)
[edit] 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) |
| C++ documentation for wmemchr
| |