Namespaces
Variants

std:: memchr

From cppreference.net
Défini dans l'en-tête <cstring>
const void * memchr ( const void * ptr, int ch, std:: size_t count ) ;
void * memchr ( void * ptr, int ch, std:: size_t count ) ;

Convertit ch en unsigned char et localise la première occurrence de cette valeur dans les premiers count octets (chacun interprété comme unsigned char ) de l'objet pointé par ptr .

Cette fonction se comporte comme si elle lisait les octets séquentiellement et s'arrêtait dès qu'un octet correspondant est trouvé : si le tableau pointé par ptr est plus petit que count , mais que la correspondance est trouvée dans le tableau, le comportement est bien défini.

(depuis C++17)

Table des matières

Paramètres

ptr - pointeur vers l'objet à examiner
ch - octet à rechercher
count - nombre maximal d'octets à examiner

Valeur de retour

Pointeur vers l'emplacement de l'octet, ou un pointeur nul si aucun octet correspondant n'est trouvé.

Exemple

Rechercher dans un tableau de caractères.

#include <cstring>
#include <iostream>
int main()
{
    char arr[] = {'a', '\0', 'a', 'A', 'a', 'a', 'A', 'a'};
    char *pc = (char*) std::memchr(arr, 'A', sizeof arr);
    if (pc != nullptr)
        std::cout << "search character found\n";
    else
        std::cout << "search character not found\n";
}

Sortie :

search character found

Voir aussi

trouve la première occurrence d'un caractère
(fonction)
trouve le premier élément satisfaisant des critères spécifiques
(modèle de fonction)
Documentation C pour memchr