Namespaces
Variants

wmemchr

From cppreference.net
< c ‎ | string ‎ | wide
Défini dans l'en-tête <wchar.h>
wchar_t * wmemchr ( const wchar_t * ptr, wchar_t ch, size_t count ) ;
(1) (depuis C95)
/*QWchar_t*/ * wmemchr ( /*Qwchar_t*/ * ptr, wchar_t ch, size_t count ) ;
(2) (depuis C23)
1) Localise la première occurrence du caractère large ch dans les count premiers caractères larges du tableau de caractères larges ou du tableau d'entiers de type compatible, pointé par ptr .
2) Fonction générique de type équivalente à (1) . Soit T un type d'objet caractère large non qualifié.
  • Si ptr est de type const T * , le type de retour est const wchar_t * .
  • Sinon, si ptr est de type T * , le type de retour est wchar_t * .
  • Sinon, le comportement est indéfini.
Si une définition de macro de chacune de ces fonctions génériques est supprimée pour accéder à une fonction réelle (par exemple si ( wmemchr ) ou un pointeur de fonction est utilisé), la déclaration de fonction réelle (1) devient visible.

Si count est nul, la fonction retourne un pointeur nul.

Table des matières

Paramètres

ptr - pointeur vers le tableau de caractères larges à examiner
ch - caractère large à rechercher
count - nombre de caractères larges à examiner

Valeur de retour

Pointeur vers l'emplacement du caractère large, ou un pointeur nul si aucun caractère de ce type n'est trouvé.

Exemple

#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);
    }
}

Sortie possible :

Found '许' at position 14

Références

  • Norme C23 (ISO/IEC 9899:2024):
  • 7.29.4.5.8 La fonction wmemchr (p: TBD)
  • Norme C17 (ISO/CEI 9899:2018) :
  • 7.29.4.5.8 La fonction wmemchr (p: TBD)
  • Norme C11 (ISO/IEC 9899:2011):
  • 7.29.4.5.8 La fonction wmemchr (p: 438)
  • Norme C99 (ISO/IEC 9899:1999) :
  • 7.24.4.5.8 La fonction wmemchr (p: 384)

Voir aussi

recherche dans un tableau la première occurrence d'un caractère
(fonction)
(C95)
trouve la première occurrence d'un caractère large dans une chaîne large
(fonction)
Documentation C++ pour wmemchr