Namespaces
Variants

wmemchr

From cppreference.net
< c ‎ | string ‎ | wide
Definido en el encabezado <wchar.h>
wchar_t * wmemchr ( const wchar_t * ptr, wchar_t ch, size_t count ) ;
(1) (desde C95)
/*QWchar_t*/ * wmemchr ( /*Qwchar_t*/ * ptr, wchar_t ch, size_t count ) ;
(2) (desde C23)
1) Localiza la primera ocurrencia del carácter ancho ch en los primeros count caracteres anchos del array de caracteres anchos o array de enteros de tipo compatible, apuntado por ptr .
2) Función genérica de tipos equivalente a (1) . Sea T un tipo de objeto de carácter ancho no calificado.
  • Si ptr es de tipo const T * , el tipo de retorno es const wchar_t * .
  • De lo contrario, si ptr es de tipo T * , el tipo de retorno es wchar_t * .
  • De lo contrario, el comportamiento es indefinido.
Si se suprime la definición de macro de cada una de estas funciones genéricas para acceder a una función real (por ejemplo, si se usa ( wmemchr ) o un puntero a función), la declaración de función real (1) se hace visible.

Si count es cero, la función retorna un puntero nulo.

Contenidos

Parámetros

ptr - puntero al array de caracteres anchos a examinar
ch - carácter ancho a buscar
count - número de caracteres anchos a examinar

Valor de retorno

Puntero a la ubicación del carácter ancho, o un puntero nulo si no se encuentra dicho carácter.

Ejemplo

#include <locale.h>
#include <stdio.h>
#include <wchar.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);
    }
}

Salida posible:

Found '许' at position 14

Referencias

  • Estándar C23 (ISO/IEC 9899:2024):
  • 7.29.4.5.8 La función wmemchr (p: TBD)
  • Estándar C17 (ISO/IEC 9899:2018):
  • 7.29.4.5.8 La función wmemchr (p: TBD)
  • Estándar C11 (ISO/IEC 9899:2011):
  • 7.29.4.5.8 La función wmemchr (p: 438)
  • Estándar C99 (ISO/IEC 9899:1999):
  • 7.24.4.5.8 La función wmemchr (p: 384)

Véase también

busca en un arreglo la primera ocurrencia de un carácter
(función)
(C95)
encuentra la primera ocurrencia de un carácter ancho en una cadena ancha
(función)