Namespaces
Variants

wcsrchr

From cppreference.net
< c ‎ | string ‎ | wide
Défini dans l'en-tête <wchar.h>
wchar_t * wcsrchr ( const wchar_t * str, wchar_t ch ) ;
(1) (depuis C95)
/*QWchar_t*/ * wcsrchr ( /*QWchar_t*/ * str, wchar_t ch ) ;
(2) (depuis C23)
1) Trouve la dernière occurrence du caractère large ch dans la chaîne large pointée par str .
2) Fonction générique de type équivalente à (1) . Soit T un type d'objet caractère large non qualifié.
  • Si str est de type const T * , le type de retour est const wchar_t * .
  • Sinon, si str 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 ( wcsrchr ) ou un pointeur de fonction est utilisé), la déclaration de fonction réelle (1) devient visible.

Table des matières

Paramètres

str - pointeur vers la chaîne large terminée par un caractère nul à analyser
ch - caractère large à rechercher

Valeur de retour

Pointeur vers le caractère trouvé dans str , ou un pointeur nul si aucun caractère n'est trouvé.

Exemple

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

Sortie :

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

Références

  • Norme C23 (ISO/IEC 9899:2024) :
  • 7.31.4.6.4 La fonction wcsrchr (p: TBD)
  • Norme C17 (ISO/CEI 9899:2018) :
  • 7.29.4.5.4 La fonction wcsrchr (p: 318)
  • Norme C11 (ISO/IEC 9899:2011):
  • 7.29.4.5.4 La fonction wcsrchr (p: 436)
  • Norme C99 (ISO/CEI 9899:1999) :
  • 7.24.4.5.4 La fonction wcsrchr (p : 382)

Voir aussi

(C95)
trouve la première occurrence d'un caractère large dans une chaîne large
(fonction)
(C95)
trouve la première position de n'importe quel caractère large d'une chaîne large dans une autre chaîne large
(fonction)
Documentation C++ pour wcsrchr